Avatar billede lars-k Nybegynder
23. oktober 2002 - 13:07 Der er 15 kommentarer og
1 løsning

.DAT fil istedet for cookie!?

Hej

Når jeg vil placere en cookie på min maskine, bliver det lavet til en .DAT fil i stedet for!? Den kode jeg bruger er fra "Beginning ASP.net" bogen fra WROX og kører fint hos et par af mine bekendte.

Har jeg overset noget i opsætningen af frameworkes el. lign.?

Lars:-)
Avatar billede odegaard Nybegynder
23. oktober 2002 - 16:47 #1
Øhm... Cookies bliver sat på klienten, og har intet med .NET frameworket at gøre (eftersom klienten ikke engang har .NET installeret).
Der ligger en dat filer og styrer "overblikket" over cookies. Er du sikker på at du kigger det rigtige sted?

IE6 har iøvrigt også nogle options med Cookies. Måske er det disse du har pillet ved?
Avatar billede lars-k Nybegynder
23. oktober 2002 - 17:04 #2
Hej

Jo, jeg ved godt at frameworket ligger på serveren - men jeg er temmelig ny i det her. Jeg har Win2000 og kigger efter min cookie i C:\dokuments and settings\administrator\cookies (jeg er logget på som admin). Men i denne mappe dukker .DAT filen så op istedet for en cookie.....
Avatar billede lars-k Nybegynder
23. oktober 2002 - 17:06 #3
...og jeg har ikke pillet ved tilladelserne i Explorer - jeg har testet i Netscape og får det samme problem der. Helt nøjagtigt: "Server Error in '/' Application......Object reference not set to an instance of an object" og så en forklaring om debug mm.
Avatar billede -psycho- Nybegynder
23. oktober 2002 - 17:13 #4
Du har sikkert ikke angivet udløbelses tiden på cookien..
Avatar billede -psycho- Nybegynder
23. oktober 2002 - 17:13 #5
prøv at poste din kode.
Avatar billede odegaard Nybegynder
23. oktober 2002 - 17:40 #6
Har du forsøgt at følge den forklaring om debug??? Det er jo siden der fejler, og denne fejl kan du få ved at følge vejledningen om web.config.

Fejlen sker sikkert før cookien kan laves.
Avatar billede brynil Nybegynder
23. oktober 2002 - 17:45 #7
Hvad kigger du efter i cookie-bibl.
ser du efter administrator@[dit maskinnavn[nr].txt
Avatar billede lars-k Nybegynder
23. oktober 2002 - 17:46 #8
Her er lidt kode - første del er en selvstændig fil der sætter en cookie - anden del er også en selvstændig fil der bare læser i den satte cookie og bruger værdien til en baggrundsfarve:

<%@ Page Language="VB" %>
  <script language="vb" runat="server">
      Sub Page_Load(Source As Object, E as EventArgs)
        If Not IsPostBack Then
          MyButton.Text = "Save Cookie"
          MyDropDownList.Items.Add("Blue")
          MyDropDownList.Items.Add("Red")
          MyDropDownList.Items.Add("Gray")
        End If
      End Sub
    Public Sub Click(ByVal sender As Object, ByVal e As System.EventArgs)
      Dim MyCookie As New HttpCookie("Background")
      MyCookie.Value = MyDropDownList.SelectedItem.Text
      Response.Cookies.Add(MyCookie) 
      End Sub
  </script>
<html>
  <body>
    <form id="CookieForm" method="post" runat="server">
      <asp:DropDownList id=MyDropDownList runat="server"/>
      <asp:button id=MyButton runat="server" OnClick="Click"/>
    </form>
  </body>
</html>

*********************************************************

<%@ Page Language="VB" %>
  <script language="vb" runat="server">
    Sub Page_Load(Source As Object, E as EventArgs)
      Response.Cache.SetExpires(DateTime.Now)
    End Sub
  </script>
  <html>
    <body bgcolor="<%=Request.Cookies("Background").Value%>">
    </body>
  </html>
**************************************************************

Og nej, jeg har ikke forsøgt at debugge - jeg kender ikke noget til det, men det kan jeg da komme til. Og vedr. vejledning om web.config, så er det åbenbart også noget jeg skal lure på....

Lars:-)
Avatar billede lars-k Nybegynder
23. oktober 2002 - 17:47 #9
Umiddelbart burde der ikke være noget galt med min browser, da jeg lige har fået sat et par cookies i de sidste minutter....
Avatar billede odegaard Nybegynder
23. oktober 2002 - 17:49 #10
Det er sikkert den her den fejler på:
<%=Request.Cookies("Background").Value%>
Hvis den cookie ikke findes får du en "Object reference not set to an instance of an object"
Avatar billede lars-k Nybegynder
23. oktober 2002 - 17:51 #11
Ja, det har du nok ret i - men fejlen må nok ligge i den første fil, da cookien aldrig ender i mappen dertil....
Avatar billede -psycho- Nybegynder
23. oktober 2002 - 17:56 #12
Public Sub Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim MyCookie As New HttpCookie("Background")
MyCookie.Value = MyDropDownList.SelectedItem.Text
MyCookie.Expires = Now.AddMinutes(10) <---- Tilføj den linie og prøv igen
Response.Cookies.Add(MyCookie) 
End Sub
Avatar billede odegaard Nybegynder
23. oktober 2002 - 17:57 #13
Egentlig ligger fejlen vel i at du ikke tjekker for om den findes, før du udskriver den :-)
Avatar billede brynil Nybegynder
23. oktober 2002 - 18:00 #14
Eller prøv denher:
Læg cookie:

        If Request.Cookies("WP") Is Nothing
          Dim Cookie As HttpCookie
          Cookie = New HttpCookie("WP")
          Cookie.Values.Add("UserInit","Noget")
          Cookie.Expires = DateTime.MaxValue
          Response.AppendCookie(Cookie)
      End If

Hent Cookie:

DIM Cookie As HttpCookie = Request.Cookies("WP")
ViewState("Referer") = Request.Headers("Referer")
IF Not Cookie Is Nothing
strUInit = (cookie.Values("UserInit"))
...validering...
Response.Redirect("side.aspx")
END IF

Denne gemmer en cookie som administrator@station[1].txt på min maskine
Avatar billede brynil Nybegynder
23. oktober 2002 - 18:20 #15
Kan der være noget forkert i at anvende (ByVal ... System...) i sub'en.
Jeg anvender det ikke i mine cookie-referencer, og de virker indtil nu.
Avatar billede lars-k Nybegynder
23. oktober 2002 - 18:29 #16
Hej allesammen

>>>psycho: Mange tak for hjælpen. Det er mig lidt træls at jeg sidder og er ved at kløjs i en bog, der åbenbart ikke indeholder brugbare eksempler:-)

Kan det passe for mig, at hvis expires ikke angives, så forsvinder cookien når browseren lukkes ned?

Lars
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester