Avatar billede c-sharp Nybegynder
02. august 2007 - 09:35 Der er 5 kommentarer og
1 løsning

Problem med session i webservice

Jeg prøver at bruge session i min webservice til at finde ud af om brugeren er logget ind, men den kan ikke huske session på tværs af webservice kaldene. Jeg har bla. prøvet koden her http://www.code-magazine.com/article.aspx?quickid=0307071&page=3 men det viker ikke :-(

Jeg har sat [WebMethod(EnableSession=true)] på alle mine webmetoder!

Nogen der kan hjælpe?
Avatar billede arne_v Ekspert
02. august 2007 - 16:12 #1
Du har både enabled session server side *og* sætter en cookie container client side ?
Avatar billede c-sharp Nybegynder
02. august 2007 - 20:14 #2
Hej Arne, tak for din kommentar!

Hvad mener du med "sætter en cookie container client side "?
Avatar billede arne_v Ekspert
02. august 2007 - 20:22 #3
Den er faktisk omtalt i dit link, men ved nærmere eftersyn er brugen måske ikke helt klar.

Her er et lille eksempel jeg lavede for en C# client som laver multiple
web service kald til en web service (den er så i dette tilfælde lavet i Java,
men det kommer ikke client koden ved):

using System;
using System.Net;

public class TestTest
{
    public static void Main(string[] args)
    {
        ServicePointManager.Expect100Continue = false; // to avoid .NET - Tomcat 5 bug
        TestService tst = new TestService();
        CredentialCache auth = new CredentialCache();
        NetworkCredential basic = new NetworkCredential("wsuser1", "hemmeligt");
        auth.Add(new Uri(tst.Url), "Basic", basic);
        tst.Credentials = auth;
        tst.CookieContainer = new CookieContainer();
        Console.WriteLine(tst.getUser());
        int n = (int)(DateTime.Now.Ticks % 10000000);
        Console.WriteLine(n);
        tst.setV(n);
        for(int i = 0; i < 10; i++)
        {
            Console.WriteLine(tst.getV());
        }
    }
}

Det er cookie containeren der giver web service stubben mulighed for at holde sessionen
mellem kaldene.
Avatar billede arne_v Ekspert
02. august 2007 - 20:23 #4
Ovenstående bruger Basic HTTP authentication, men du behøver cookie container
for at holde session uanset hvilken form for authentification du bruger.
Avatar billede c-sharp Nybegynder
03. august 2007 - 10:41 #5
Jeg takker mange gange!!

smid svar så er der point på vej i din retning
Avatar billede arne_v Ekspert
03. august 2007 - 15:54 #6
svar
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