为什么Asp.net web项目在url中有垃圾值?

sau*_*bhj 4 asp.net vs-web-application-project

我已经尝试使用Google搜索并在SO上搜索此问题 - 但收效甚微 - 主要是因为我不确定自己是否正确搜索.

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

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

http://localhost:8671/(S(saifdk55xyhalrqbstrtrdiw))/SubjectClassTeacher/Default.aspx
Run Code Online (Sandbox Code Playgroud)

即使我修改了URL并尝试转到:

http://localhost:8671/SubjectClassTeacher/Default.aspx
Run Code Online (Sandbox Code Playgroud)

我被重定向回这个URL.

中心的垃圾值:(S(saifdk55xyhalrqbstrtrdiw))每次编译时都会不断更改,我不知道它为什么会被注入或者如何禁用它.

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

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

谢谢.

Rex*_*x M 11

这是ASP.NET*中一个名为cookieless会话的聪明功能.它的工作原理是将会话ID注入每个URL,因此ASP.NET可以区分访问页面的用户A和访问同一页面的用户B. 通常这是通过cookie实现的,但是这种方法消除了对启用它们的最终用户的依赖.

来自MSDN:

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

<sessionState cookieless="true" />

*这个概念并不是ASP.NET所独有的,但它已经融入了ASP.NET,并且 - 正如您所发现的那样 - 可以在开发人员没有特别努力的情况下启用.