当使用SignalR和传输模式长轮询时,Asp.net会话永不过期
发布时间:2020-05-25 02:52:24 所属栏目:asp.Net 来源:互联网
导读:我们有一个Web应用程序使用SignalR作为其通知机制。问题是当我们使用IE浏览我们的Web应用程序时,SignalR使用Long Polling作为其传输类型,从而将请求发送回我们的Web服务器,因此Session不会过期浏览器空闲。 我们认为也许我们可以在Global.asax中捕获请求,
|
我们有一个Web应用程序使用SignalR作为其通知机制。问题是当我们使用IE浏览我们的Web应用程序时,SignalR使用Long Polling作为其传输类型,从而将请求发送回我们的Web服务器,因此Session不会过期浏览器空闲。 我们认为也许我们可以在Global.asax中捕获请求,看看它们是否来自SingalR,并将会话超时设置为剩余时间(我不认为这是一个简单的解决方案)。 有没有其他的解决方案,我们失踪? 解决方法我目前使用的解决方法是一个IHttpModule来检查请求是否是Signalr请求,如果删除了认证cookie,这将阻止ASP.net会话超时重置,因此如果您的会话超时为20分钟,并且唯一的请求是Signalr用户会话仍将超时,用户将不得不重新登录。public class SignalRCookieBypassModule : IHttpModule
{
public void Init(HttpApplication application)
{
application.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
private bool IsSignalrRequest(string path)
{
return path.IndexOf("/signalr/",StringComparison.OrdinalIgnoreCase) > -1;
}
protected void OnPreSendRequestHeaders(object sender,EventArgs e)
{
var httpContext = ((HttpApplication)sender).Context;
if (IsSignalrRequest(httpContext.Request.Path))
{
// Remove auth cooke to avoid sliding expiration renew
httpContext.Response.Cookies.Remove(DefaultAuthenticationTypes.ApplicationCookie);
}
}
public void Dispose()
{
}
}
我觉得这是一个真正的黑客解决方案,所以,当数据从服务器推送到客户端时,或者当JavaScript客户端轮询端点数据时,所以会喜欢其他想法来阻止会话超时更新。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 发布网站时,我的默认文档名称不断从IIS中删除
- asp.net-mvc – Asp.Net MVC使用来自JQuery UI选项卡的ajax
- asp.net-mvc-3 – ASP.NET MVC 3,动作过滤器和Autofac依赖注
- MVC3 .NET会话随机丢失会话值并返回null
- asp.net – ASP .NET MVC中的TinyMCE Spellchecker
- asp.net – IIS自定义错误未显示自定义错误页面
- asp.net-mvc – 如何调试Minification失败 返回未最终内容
- asp.net-mvc – ASP.NET MVC:很多路由 – 总是只有一个控制
- asp.net-mvc – 保持viewdata在RedirectToAction
- asp.net-mvc – EntityFramework.SqlServer未在Web发布中部
推荐文章
站长推荐
- asp.net-mvc – 在asp.net mvc中设置为Session的
- asp.net – MVC4 – ContextDependentView – 这
- ASP.NET身份Windows身份验证(混合模式 – 表单Wi
- asp.net-mvc-3 – 向Entity Framework数据库添加
- asp.net-mvc – 异步操作方法
- asp.net – 在网站上放置广告的最佳做法?
- asp.net – Live Sitecore网站的Git Source Cont
- asp.net – 测试后的NUnit回滚
- asp.net-mvc-4 – 用于继承类型的WebApi模型绑定
- asp.net核心 – 从OWIN迁移到ASP.NET核心
热点阅读
