我有一个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服务引用中的会话。
答案 0 :(得分:3)
您应该使用CookieContainer。检查this发布后,它会显示一个示例。 要在WinForms / WPF项目中添加Web服务引用,this帖子很有帮助。