GRY-Online.pl --> Archiwum Forum

Własne forum dyskusyjne (ASP.Net, VB/C#, SQL) i ikonka nowych wiadomości :)

21.03.2010
19:39
[1]

Grzesiek [ www eRepublik com PL ]

Własne forum dyskusyjne (ASP.Net, VB/C#, SQL) i ikonka nowych wiadomości :)

Postanowiłem zmodyfikować swoje forum dyskusyjne, które napisałem jakiś czas temu - nie potrzebuje dużych kombajnów, ale wzoruję się trochę na Yet Another Forum.

Wszystko szło dobrze i zatrzymałem się w pewnym momencie.

Chodzi mianowicie o ikonki nowych wiadomości w kategoriach/forach/na liście wątków.

W YAF rozegrane jest to przez sesję, do której wrzuca się HashTable.

Testując YAF wszystko ok. U mnie prawie też.

Dlaczego prawie? Otóż jeśli sesja wygaśnie - albo skasuję ciastko sesji - to przy powonym wejściu na stronie, wszystko się resetuje.

Niby normalne, ale o dziwo YAF pomimo czyszczenia pamięci,ciastek,sesji przeglądarki dalaj
"trzyma" stan - tzn. wie kiedy i które wątki były odwiedzane przeze mnie.

Najlepsze jest to, że nie używa do tego bazy danych.

Jestem w kropce teraz, bo nie mam pomysłu.

Może ktoś naprowadzi mnie na rozwiązanie?

21.03.2010
20:01
[2]

BlackBolt [ Senator ]

Nie mam ZIELONEGO pojęcia o ASP, ale...
if (DataRow["LastPosted"] != DBNull.Value)

this.LastPosted.Text = YafServices.DateTime.FormatDateTimeTopic(DataRow["LastPosted"]);
this.topicLink.NavigateUrl = YafBuildLink.GetLinkNotEscaped(ForumPages.posts, "t=‹0›", DataRow["LastTopicID"]);
this.topicLink.Text = StringHelper.Truncate(YafServices.BadWordReplace.Replace(DataRow["LastTopicName"].ToString()), 50);
this.ProfileUserLink.UserID = Convert.ToInt32(DataRow["LastUserID"]);
this.ProfileUserLink.UserName = DataRow["LastUser"].ToString();

this.LastTopicImgLink.ToolTip = PageContext.Localization.GetText("GO_LAST_POST");
this.LastTopicImgLink.NavigateUrl = YafBuildLink.GetLinkNotEscaped(ForumPages.posts, "m=‹0›#post‹0›", DataRow["LastMessageID"]);
this.Icon.ThemeTag = (DateTime.Parse(Convert.ToString(DataRow["LastPosted"])) > Mession.GetTopicRead((int) DataRow["LastTopicID"]))
? "ICON_NEWEST"
: "ICON_LATEST";

this.LastPostedHolder.Visible = true;
this.NoPostsLabel.Visible = false;

Czy ta funkcja nie odpowiada za ustawienie odpowiedniej ikonki?
Gdyby GOL rozwalił kod:

21.03.2010
21:06
[3]

Grzesiek [ www eRepublik com PL ]

To to ja wiem :)
Przestudiowałem kod od a do z :P

Jak widzisz korzysta się tutaj z klasy Mession, która jest po prostu zbiorem funkcji operujących na sesji.

Mój problem polega na wygaszeniu sesji - pomimo wyczyszczenia stanu przeglądarki, etc. YAF dalej pamięta, który wątek odwiedziłem i kiedy, a przecież nie powinien.

Nie korzysta on przy tym z bazy danych.

© 2000-2025 GRY-OnLine S.A.