根据我们当前的设置,需要在两个站点之间维护镜像会话,一个托管在 IIS 6.0 中的现有 ASP.NET 网站,现在将新网站包含在 iFrame 中,并单独托管在 IIS 7.5(它是 MVC3)中。
有人对如何使父会话与子网站会话保持一致有任何建议吗?
我最初的想法是创建一个 ActionFilter 以在 OnActionExecuting 方法上向父站点上的各种 HTTPHandler 触发 HttpWebRequest。有人怀疑这将如何保持特定会话内联,可能缺少关于会话 ID 的各种知识?
就像是:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
try
{
var request = WebRequest.Create(
ConfigurationManager.AppSettings["HeartbeatURI"]);
using (var webResponse = request.GetResponse())
{
var response = webResponse as HttpWebResponse;
if (response != null && response.StatusCode == HttpStatusCode.OK)
{
有人在这里有任何建议/建议吗?谢谢!
更新:
在提出一些有用的建议后,我将调查浏览器是否提供解决方案,例如:
function setHeartbeat() {
setTimeout("heartbeat()", 300000); // every 5 min
}
function heartbeat() {
$.get(
"http://soemthing:1234/heartbeathandler.ashx",
null,
function(data) {
setHeartbeat();
},
"json"
);
}
将按我的要求执行。