4

我已经尝试在 SO 上搜索和搜索这个问题 - 但收效甚微 - 主要是因为我不确定我是否搜索正确。

我正在使用 Visual Studio 2008、C# 和 Cassini 进行ASP.Net Web 应用程序项目(不是网站)进行测试。

但是,每次我运行该站点时,都会得到一个 URL,例如:

http://localhost:8671/(S(saifdk55xyhalrqbstrtrdiw))/SubjectClassTeacher/Default.aspx

即使我修改了 URL 并尝试访问:

http://localhost:8671/SubjectClassTeacher/Default.aspx

我被重定向回这个 URL。

中心的垃圾值:(S(saifdk55xyhalrqbstrtrdiw))每隔几次编译就会不断变化,我不知道它为什么会被注入或如何禁用它。

任何人都可以对这个问题有所了解吗?首先,我想知道为什么会发生这种情况以及如何禁用它。

因为当我在 IIS 上部署网站时也会发生这种情况。任何帮助表示赞赏。

谢谢你。

4

1 回答 1

11

这是 ASP.NET* 中称为无cookie 会话的巧妙功能。它通过将会话 ID 注入每个 URL 来工作,因此 ASP.NET 可以区分访问页面的用户 A 和访问同一页面的用户 B。通常这是通过 cookie 完成的,但这种方法消除了对启用它们的最终用户的依赖。

来自 MSDN:

...您无需更改 ASP.NET 应用程序中的任何内容即可启用无 cookie 会话,但以下配置设置除外。

<sessionState cookieless="true" />

*这个概念不是 ASP.NET 独有的,而是融入到 ASP.NET 中的——正如您所发现的——开发人员无需特别努力就可以打开它。

于 2010-08-08T17:16:17.593 回答