2

我有一个从我的 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 来做到这一点。但是我如何保持与该服务的会话?我在调用 web 服务时得到了 result=fail。谁能告诉如何在 Windows 窗体应用程序中管理 web 服务引用中的会话。

4

1 回答 1

3

您应该使用CookieContainer。看看这篇文章,它显示了一个例子。要在您的 WinForms/WPF 项目中添加 Web 服务引用,这篇文章很有帮助。

于 2009-10-19T22:57:38.943 回答