29. april 2009 - 21:13Der er
5 kommentarer og 1 løsning
ASP.NET WebService: Problem med variabler
Jeg har en ASP.NET WS med noget lignende:
public class WebService { Boolean isValidUser = false;
[WebMethod] public Boolean Logon(...) { ... this.isValidUser=true; ... }
[WebMethod] public Customer[] GetCustomers() { ... if (this.isValidUser) { ... } }
Og så bruger jeg min webservice i stil med dette:
WebService service = new WebService(); service.Login(...); Customers[] customers = service.GetCustomers();
Når jeg kører det lokalt virker det fint, men så snart jeg smider det online virker det ikke længere. Så er det som om, at den ikke husker værdien af mine feltvariabler i klassen mellem hvert kald på min webservice. Kan det godt passe? Findes der en løsning på det?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Du kan ikke gemme i almindelige variabler. Det virker måske på din lokale server, fordi den ikke opretter en ny proces mellem kald - det skal man regne med en rigtig webserver gør.
Du kan gemme i en sessions-variabel, hvis det giver mening, eller i en database. Eller evt. i en fil.
Ok, det lurede mig! :) Jeg har også nogle Java-klienter som skal bruge min service - så ved ikke om det med sessions dur så? Kan man kalde service.CookieContrainer fra Java, hvor stubbene er lavet med WSDL2Java?
TestService service = new TestServiceLocator(); Test tst = service.getTestService(); ((Stub)tst)._setProperty(Stub.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
Jeg vil tro at man kan noget lignende med Axis2, men jeg har ikke lige et eksempel paa lager.
husk at teste først inden du afslutter - der er rigtigt mange kombination smuligheder
Synes godt om
Ny brugerNybegynder
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.