我为asp.net项目建了一个虚拟目录,但是调试或访问的时候URL的根目录段前会出现一段随机数,如:
本来是:http://localhost/myweb/Default.aspx
结果访问的时候就变成;http://localhost/myweb/(v5zqrt55ijs20lvrq4rpsl55)/Default.aspx
我想是不是asp.net的缓存机制造成的?如何避免出现那段随机目录?

解决方案 »

  1.   

    config文件中cookieless="true" >> cookieless="false"
      

  2.   

    谢谢楼主,果然是这个原因。
    但是新的问题又来了:
    config中启用cookieless="true" 的目的是为了让客户端不能用cookie的用户也能正常访问,
    这下搞成默认的cookieless="false",那么客户端不能用cookie的用户怎么才能正常访问,当然我说的是我做的页面要用到cookie
      

  3.   

    asp.net的缓存机制是为了在第一次访问页面后驻留,在下次访问是速度快,可是带来了一个问题,就是如果后面数据库更新时,页面无法即使反映出来。所以有些就加了随机数。
    你干吗非要去掉它?
      

  4.   

    那个(v5zqrt55ijs20lvrq4rpsl55)就是SessionID。因为你不使用客户端cookie了,它就使用url呀!跟缓存没有什么关系。
      

  5.   

    jedliu(21世纪最贵的是什么? 人才!) 说的有道理
      

  6.   

    TO jedliu(21世纪最贵的是什么? 人才!) :考虑到地址可能对访问者记起来不便,比如我有个网站 www.myweb.com 但每次访问的结果是www.myweb.com/(v5zqrt55ijs20lvrq4rpsl55)/Default.aspx的话,别人几很诧异了
    另外这个问题好象不是缓存造成的,是LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^) 说的原因。
      

  7.   

    你公布网站地址并不用包括那个SessionID。它是在打入url访问网站之后,下一次自动显示url时才出现的。
      

  8.   

    这是因为设置禁用了session cookies,即在web.config里面设置了<sessionState cookieless="true" /> 
    URL中多出来的那段字符串就是session ID更多信息请参考:
    Underpinnings of the Session State Implementation in ASP.NET
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetsessionstate.asp