使用服务引用调用WebService并维护会话

时间:2009-10-19 10:49:00

标签: c# web-services service-reference

我有一个asp.net网络服务,我在ASP.NET网站上使用它。我可以从原始的Javascript或jQuery调用它来发布/获取数据。通过会话启用Web服务,以便只有授权用户才能访问数据。

        [WebMethod(EnableSession = true)]
        public WS_ServiceResponse SetAccountName(string account, string name)
        {
            WS_ServiceResponse osr = new WS_ServiceResponse();
            WS_ServiceResponse sessionCheck = CheckSession(Session);
            if (sessionCheck.result == WS_ServiceResponseResult.fail)
                return sessionCheck;

            osr.result = WS_ServiceResponseResult.success;
            osr.data = "";
            bool success = AccountController.SetAccountInfo(account, name);
            if (success)
            {
                osr.result = WS_ResponseResult.fail;
            }
            return osr;
        }

现在我必须创建一个桌面客户端来使用该服务。我可以添加ServiceReference来做到这一点。但是如何维护该服务的会话?我在调用webservice时得到结果=失败。任何人都可以告诉如何在Windows窗体应用程序中管理Web服务引用中的会话。

1 个答案:

答案 0 :(得分:3)

您应该使用CookieContainer。检查this发布后,它会显示一个示例。 要在WinForms / WPF项目中添加Web服务引用,this帖子很有帮助。