2009-06-16 12 views
1

Hallo, ich habe einen Web-Service in meiner Lösung verwenden ich einen Wrapper statischen Klasse zugreifenden Web Service alsWeb-Service-Zugriff auf Wrapper

habe
public static class Authentication 
{ 
    public static bool VerifyPassword(int membershipID, string password) 
    { 
     PCIValidationResult result = CreatePciWebService().ValidatePassword(
       membershipID, password);    
     LoginValidationResult loginValidationResult = 
      (LoginValidationResult)Enum.ToObject(
       typeof(LoginValidationResult), result.ResultCode);   
     return true; 
    } 

    private static PCIWebService CreatePciWebService() 
    {   
     PCIWebService service = new PCIWebService(); 
     service.Url = KioskManagerConfiguration.PciServiceUrl; 
     return service; 
    } 

und nenne ich diese Klasse in Code wie

Authentication.VerifyPassword(23,"testUser"); 

Der erste Aufruf des Codes ist erfolgreich Und nach dem zweiten Aufruf der Code Ich habe "die Operation abgelaufen" nach 2-3 min. Warten ...

So rufen Sie einen Webdienst auf?

+0

Meinten Sie etwas zurück, basierend auf loginValidationResult, anstatt wahr jedes Mal? –

+0

Hallo marc, zuerst einmal vielen Dank für Ihre schnelle Antwort, die LoginValidationResult ist nicht der Teil des Problems, kommt über den WebService und überprüft den Benutzerstatus Ich bin Ging Code hinzufügen, um dieses Geschäft zu steuern – dankyy1

Antwort

1

Abgesehen von immer wiederkehr wahr und möglicherweise mit using (wenn der Dienst IDisposable ist), ich kann nichts offensichtlich falsch sehen.

Haben Sie versucht, es mit Fiddler oder Wireshark zu verfolgen, um zu sehen, was auf der Transportebene passiert?

Sie versuchen using Zugabe konnte, aber während diese Dinge ordentlich kann bis ich bin nicht sicher, dass es dieses Problem beheben:

using(PCIWebService svc = CreatePciWebService()) { 
    PCIValidationResult result = svc.ValidatePassword(membershipID, password); 
    //...etc 
}