Announcement

Collapse
No announcement yet.

WebService mit Session

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WebService mit Session

    Hallo zusammen,

    ich hab einen WebService, der einen String mit der einen Methode entgegennimmt und ihn mit einer anderen Methode ausgibt.

    Wenn ich den Service starte, und mit der "Testseite" benutze funktioniert alles wunderbar.

    Wenn ich aber nun eine Windows-Applikation programmiere, die genau das selbe macht, geht der inhalt der Variabel irgendwo verloren.

    localhost.Service myWebservice = new localhost.Service();
    myWebservice.StoreString(textBox1.Text);
    textBox2.Text = myWebservice.LoadString();
    Kann es sein das der Client die Session verliert oder so ??

    Vielen Dank im voraus

    Stefan

  • #2
    Hallo,

    >..geht der inhalt der Variabel irgendwo verloren.

    Eine Windows Anwendung kann diesen Web Service ohne zusätzlichen Aufwand so nicht nutzen, da bei einer Windows Anwendung das vom Web Service mitgeschickte Cookie "verlorengeht", so dass ASP.NET nicht erkennen kann, dass der 2. Aufruf zum "Vorgänger" gehört. Um dieses Problem zu lösen, muss der <b>CookieContainer</b> eingesetzt werden:

    <pre>
    Private iCnt As Integer = 1
    Dim aWS As New localhost.OSServiceSession()
    <br>
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    aWS.Timeout = 5000
    ' Proxy-Objekt soll mit dem vom Web Service gelieferten Cookie hantieren
    If aWS.CookieContainer Is Nothing Then
    aWS.CookieContainer = New System.Net.CookieContainer()
    End If
    ListBox1.Items.Add(String.Format("GetIncCounter: {0}; GetSessionID: {1}", _
    aWS.GetIncCounter, aWS.GetSessionID))
    StatusBar1.Text = String.Format("Web Service zum {0}. Mal aufgerufen", iCnt)
    iCnt += 1
    End Sub
    </pre&gt

    Comment

    Working...
    X