Web服务访问包装器

时间:2009-06-16 06:45:09

标签: c# web-services timeout

您必须在我的解决方案中使用Web服务 我有一个访问Web服务的包装器静态类

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;
    }

我在代码中调用此类 喜欢

Authentication.VerifyPassword(23,"testUser");

第一次调用代码成功并且在第二次调用代码之后 2-3分钟后我“操作已经超时”。等待......

如何调用Web服务?

1 个答案:

答案 0 :(得分:1)

除了总是返回true,可能使用using(如果服务是IDisposable),我看不出任何明显错误。

您是否尝试使用fiddler或wireshark跟踪它以查看传输级别发生的情况?

您可以尝试添加using,但虽然这可能会整理一下,但我不确定它是否会解决此问题:

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