对于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但我无法让它们工作。有任何想法吗? 如果我的问题不清楚,请询问,我会详细说明。