Avatar billede repsak Nybegynder
06. november 2004 - 13:39 Der er 8 kommentarer og
1 løsning

Benytte webservice session fra windowsapp

Jeg er interesseret i at benytte en webservice (som jeg selv har lavet) fra mit windows program. Jeg har dog problemer med at benytte sessioner.

---WINDOWS---
LogService.Service1 log = new LogService.Service1();
log.SetCurrentUser(u.username);
string temp = log.HelloWorld();
//her bliver temp = null

----WEBSERVICE---
[WebMethod (true)]
public string HelloWorld(){
  Log();
  return "Hello World";
}

[WebMethod (true)]
public void SetCurrentUser(string name){
  Session["current_user"] = value;
}
--------

Log() skriver til en database. Problemet er at den currentuser som bliver skrevet til DB er null (som om at den ikke gemmer sessionværdien). Det skal lige tilføjes at det virker som forventet når jeg benytter browseren (http://localhost/Log/Service1.asmx).
Avatar billede arne_v Ekspert
06. november 2004 - 14:52 #1
Skal det ikke være:

[WebMethod(EnableSession=true)]

eller er det default ?
Avatar billede repsak Nybegynder
06. november 2004 - 17:25 #2
[WebMethod (true)] = [WebMethod(EnableSession=true)]

det er ikke default, men true-parameteren angiver EnableSession. (det er bare den korte syntaks)
Avatar billede arne_v Ekspert
06. november 2004 - 17:40 #3
Har du prøvet i cleint at:

dinwebservice.CookieContainer = new CookieContainer();

?
Avatar billede repsak Nybegynder
06. november 2004 - 18:07 #4
nej, men så ryger jeg uden om Sessions.
Avatar billede arne_v Ekspert
06. november 2004 - 18:11 #5
Øh.

Jeg troede faktisk at det var det sim skulle til for at web service client kunne
bruge sessions.

Fra docs:

Remarks
If an XML Web service method uses session state, then a cookie is passed back in the response headers to the XML Web service client that uniquely identifies the session for that XML Web service client. In order for an XML Web service to maintain session state for a client, the client must persist the cookie. Clients can receive the HTTP cookie by creating a new instance of CookieContainer and assigning that to the CookieContainer property of the proxy class before calling the XML Web service method. If you need to maintain session state beyond when the proxy class instance goes out of scope, the client must persist the HTTP cookie between calls to the XML Web service. For instance, a Web Forms client can persist the HTTP cookie by saving the CookieContainer in its own session state. Because not all XML Web services use session state and thus clients are not always required to use the CookieContainer property of a client proxy, the documentation for the XML Web service should state whether session state is used.
Avatar billede repsak Nybegynder
06. november 2004 - 18:17 #6
beklager min formulering... der skulle have stået:
"nej, men så ryger jeg VEL uden om Sessions."

Jeg har ikke testet det, men dit indlæg lyder interessant. Undersøger lige sagen :-)
Avatar billede repsak Nybegynder
06. november 2004 - 22:12 #7
Du har ret. Takker
Avatar billede arne_v Ekspert
06. november 2004 - 22:13 #8
så ligger jeg et svar
Avatar billede repsak Nybegynder
08. november 2004 - 09:50 #9
Den er fin
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
Kurser inden for grundlæggende programmering

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