Hey Leute,
Ich habe eine Anwendung, die Httpwebrequests enthält und dabei Cookies empfängt.
Da ich die Cookies gerne speichern würde, habe ich versucht eine Variable in My.Settings vom Typ CookieContainer zu benutzen.
Nach jedem Programmneustart ist der CookieContainer leer. Außerdem liefert die Anfangsabfrage auf "is nothing" immer false - auch wenn die Einstellung frisch erstellt wurde.
Der Output ist:
Es wurden 3 Cookies empfangen, aber der CookieContainer ist nach jedem Neustart leer.
Ich würde gerne auf eine Behelfslösung mit .SetCookies() und .GetCookies(baseurl) verzichten, da ich möglichst ALLE Cokies von allen Uris speichern will.
Der String baseurl ändert sich nicht!
Ich habe eine Anwendung, die Httpwebrequests enthält und dabei Cookies empfängt.
Da ich die Cookies gerne speichern würde, habe ich versucht eine Variable in My.Settings vom Typ CookieContainer zu benutzen.
Nach jedem Programmneustart ist der CookieContainer leer. Außerdem liefert die Anfangsabfrage auf "is nothing" immer false - auch wenn die Einstellung frisch erstellt wurde.
VB.NET-Quellcode
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- If My.Settings.Container Is Nothing Then 'Erstellt beim erstmaligen Starten eine Neue Instanz, jedoch liefert die is nothing Abfrage niemals TRUE
- My.Settings.Container = New CookieContainer
- Debug.WriteLine("Creating New Cookiecontainer!")
- End If
- Debug.WriteLine("Starting: " & My.Settings.Container.GetCookies(baseurl).Count)
- ...
- End Sub
- Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
- Debug.WriteLine("Closing: " & My.Settings.Container.GetCookies(baseurl).Count)
- End Sub
- Private Function CreateRequest(ByVal url As String) As HttpWebRequest
- Dim Request As HttpWebRequest = CType(HttpWebRequest.Create(url), HttpWebRequest)
- ...
- Request.CookieContainer = My.Settings.Container
- ...
- Return Request
- End Function
Der Output ist:
Es wurden 3 Cookies empfangen, aber der CookieContainer ist nach jedem Neustart leer.
Ich würde gerne auf eine Behelfslösung mit .SetCookies() und .GetCookies(baseurl) verzichten, da ich möglichst ALLE Cokies von allen Uris speichern will.
Der String baseurl ändert sich nicht!