小编Dot*_*dow的帖子

ASP.NET会话ID在浏览器选项卡之间共享

我最近一直在使用在proc会话中使用的asp.net webforms开发一个网站,我注意到会话ID在浏览器标签之间共享.所以我想知道你会为以下情况做些什么:

问题: 在一个浏览器问题中有多个不同用户登录

  1. 用户打开浏览器选项卡1,使用"user1"登录 - 存储在会话中
  2. 用户打开浏览器选项卡2,使用"user2"登录 - 存储在会话中
  3. 在此阶段,会话信息现在指向"user2",因为会话ID在浏览器选项卡之间共享
  4. 用户在选项卡1上尝试操作,突然他们有"user2"信息

如何在选项卡1中提醒用户用户已更改或如何强制tab1用户注销?

我最初的想法是通过数据库或应用程序对象保留一个具有会话ID的活动用户列表,但我面临的问题是在标签1中,当我向HttpContext.Current请求时,我要比较列表.用户将使用"user2"更新如何知道浏览器选项卡1最初是用于"user1"

感谢任何让我知道上述问题的替代方案或最佳实践的人

问候DotnetShadow

asp.net session-state

8
推荐指数
1
解决办法
6614
查看次数

ASP.NET MVC 4路由用户名/操作问题

我目前正在开发一个asp.net mvc 4应用程序,我需要以下类型的URL:

需要路由的网址

  1. http://www.mysite.com/foo/user1 <------- {username}
  2. http://www.mysite.com/foo/edit
  3. http://www.mysite.com/foo/delete/1
  4. http://www.mysite.com/bar/user1 <------- {username}
  5. http://www.mysite.com/bar/edit
  6. http://www.mysite.com/bar/delete/1

我遇到的问题是当前{username}被视为一个动作,所以为了解决这个问题我实现了以下路由,但这意味着每次我想实现一个新动作,或者有一个需要的控制器{username},我必须更新我的路线:

仅显示Foo路线

routes.MapRoute("FooSomeAction", "foo/someaction", new { controller = "Food", action = "SomeAction" });            
routes.MapRoute("FooDelete", "foo/delete/{id}", new { controller = "Food", action = "Delete" });            


routes.MapRoute(
    "FooProfile",
    "foo/{username}",
    new { controller = "Foo", action = "Index", username = "" }
);


// Default route
routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

2个问题

1)有没有办法在没有硬编码所有路由的情况下实现上述网址?

2)处理某人使用恰好与控制器或操作名称相同的用户名的情况的最佳方法是什么?

DotnetShadow

asp.net-mvc routes asp.net-mvc-routing asp.net-mvc-4

5
推荐指数
1
解决办法
1238
查看次数

ASP.NET MVC 5 - RazorGenerator 与发布期间的预编译

我目前正在使用 VS.NET 2015 和 ASP.NET MVC 5 我想预编译我的剃刀视图,

我对预编译我的观点的最佳方式有点困惑:

  1. RazorGenerator(这个有什么优点?)
  2. VS.NET发布向导“发布期间预编译”,是否需要勾选“允许更新预编译站点”?这实际上是预编译剃刀视图吗?
  3. <MvcBuildViews>true</MvcBuildViews>

我如何知道我的视图是否已预编译?

asp.net asp.net-mvc razor

5
推荐指数
1
解决办法
1824
查看次数

IIS Express命令行ASP.NET MVC 6 beta 8

我创建了一个ASP.NET MVC 6 beta 8应用程序,当我在Visual Studio 2015中单击“调试”时,我可以看到IIS Express,该站点可以正常工作。

但是,如果我尝试从指向正确的applicationHost.config文件的命令行启动IIS Express并出错,是否还需要添加其他内容?

C:\ Program Files(x86)\ IIS Express> iisexpress /config:D:\Programming\Projects\WebApplication1.vs\config\applicationHost.config / siteid:3

HTTP错误502.3-错误的网关

尝试路由请求时出现连接错误。

最可能的原因:•CGI应用程序未返回一组有效的HTTP错误。•由于父网关中的错误,充当代理或网关的服务器无法处理请求。

您可以尝试以下操作:•使用DebugDiag对CGI应用程序进行故障排除。•确定代理或网关是否对此错误负责。

详细错误信息:

模块httpPlatformHandler

通知ExecuteRequestHandler

处理程序httpPlatformHandler

错误代码0x80070002

asp.net iis-express asp.net-core-mvc asp.net-core

4
推荐指数
1
解决办法
1071
查看次数