调试的时候用的很好,要发布的时候,把默认web站点的主目录设置为我的webapplication目录,结果所有的request.applicationpath的结果都不对,是我发布的设置有误还是不该用request.Application?那么该用什么?谢谢。是我发布的设置有误还是不该用request.Application?那么该用什么?谢谢。

解决方案 »

  1.   

    did you create a virtual directory for your web application?
      

  2.   

    我的webapplication叫myweb,在程序中我用Request.applicationpath一切没问题,比如http://localhost/myweb/default.aspx
    Request.applicationpath+“/favor/favor1.aspx”就是http://localhost/myweb/favor/favor1.aspx
    但是把IIS的主目录改为myweb的绝对路径后,
    Request.applicationpath+“/favor/favor1.aspx”变成了http://myweb/favor/favor1.aspx怎么回事?求助!!!saucer我希望不用虚拟目录,我的应用开发好了,想要发布
      

  3.   

    默认web站点的主目录的应用程序根目录就是"/",你什么地方出错了?
      

  4.   

    你那样做太轻率了!你应该首先验证Request.ApplicationPath在不同的web应用程序目录中会返回什么样的结果然后再决定是不是在你的网页中到处都用它,象你现在这样也可以改一下,即确认Request.ApplicationPath返回的不是"/"再用它,这样:
    if(Request.ApplicationPath!="/"){
    这里写你的代码
    }
      

  5.   

    那么我怎么才能得到Web应用的根呢?比如"Http://202.111.111.111/"而不是"http://"
      

  6.   

    我自己解决这个问题了,我在web.config里加了一个key,把想要的web根写进去,程序中读出来用,发布的时候改一下webconfig即可,不知道对大家有没有帮助
      

  7.   

    可以用Request.ServerVariables["Http_Host"]获得域名。
      

  8.   

    学习中。在webconfig里面你写的web根是定死的?不是获取出来的?