最近帮朋友做一个网站,在开发过程中开始都很正常.可是最近不知怎么搞的,在调试或运行网站程序时虚拟目录下突然多了一串字符,比如:
我输入http://localhost/bn/web/index.aspx,网页出来了,但是在地址栏里却变成了
http://localhost/bn/(pyg5pf45jvemnhqyh0e3tk55)/web/index.aspx
,这里bn是虚拟目录,而中间那串字符每次都不一样
我觉得似乎是配置有问题,但是与其他程序比起来好象又都是一样的,不知道这是怎么回事?

解决方案 »

  1.   

    你的webconfig禁用了会话么?检查
      

  2.   

    Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的SessionID,而其他的Session信息则保存在服务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。如果用户在浏览器的设置中选择了禁用Cookie,那末他也就无法享受Session的便利之处了,甚至造成不能访问某些网站。为了解决以上问题,在ASP.NET中客户端的Session信息存储方式分为:Cookie和Cookieless两种。  ASP.NET中,默认状态下,在客户端还是使用Cookie存储Session信息的。如果我们想在客户端使用Cookieless的方式存储Session信息的方法如下:  找到当前Web应用程序的根目录,打开Web.Config文件,找到如下段落:<sessionState
      mode="InProc"
      stateConnectionString="tcpip=127.0.0.1:42424"
      sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
      cookieless="false"
      timeout="20" 
    />   这段话中的cookieless="false"改为:cookieless="true",这样,客户端的Session信息就不再使用Cookie存储了,而是将其通过URL存储。关闭当前的IE,打开一个新IE,重新访问刚才的Web应用程序,就会看到类似下面的样子:http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx中黑体标出的就是客户端的Session ID。注意,这段信息是由IIS自动加上的,不会影响以前正常的连接。
      

  3.   

    谢谢两位,的确所你们所说,不知什么时候我的cookieless变成了true,改成false,那串讨厌的所谓的Session ID就没有了!