在维护会话的同时从Webservice调用Webmethod

时间:2011-12-09 10:52:04

标签: c# web-services session iis soap

对于SaaS产品,我正在设计基于Web服务的后端解决方案。在此解决方案中,必须可以在核心服务旁边添加新的Web服务。我的想法是使用单个类通过会话连接服务,每个Web服务都可以恢复。使用这个单例,然后我可以向这个单例中注册的所有服务发送消息。

在前端可以访问此“服务网络”之前,我需要对其进行初始化。我希望由于各种原因从核心服务完成此初始化。到目前为止我得到的是我能够在当前文件夹中列出所有当前的asmx文件。这样我就知道要初始化什么服务。我还找到了一种使用SOAP请求调用其他Web服务的方法。这有效。然后我尝试使用以下方法将会话ID添加到SOAP请求中:

System.Net.HttpWebRequest hwrequest =
   (System.Net.HttpWebRequest)System.Net.WebRequest.Create(URL);
...

hwrequest.Referer = "http://domain.com/Folder/Service.asmx";
hwrequest.Headers["Cookie"] = "ASP.NET_SessionId=" + Session.SessionID + ";";

如果我尝试使用它,它会工作一次然后IIS停止。所有后续Web请求超时。

我读到了关于cookiecontainers但我无法让它们工作。有任何想法吗? 如果我的问题不清楚,请询问,我会详细说明。

0 个答案:

没有答案