asp.net - 如何配置 IIS Express 来调试子目录中的应用程序?

标签 asp.net debugging configuration virtual-directory

我的 Web 应用程序通常位于 IIS 根目录的子目录中。假设子目录是“app”

当我尝试在 Visual Studio 中调试它时,路径始终以 localhost 为根,没有子目录。这弄乱了我在应用程序中的路径。

当我尝试将项目 URL 的形式从 http://localhost:port/ 更改为 http://localhost:port/app 时,它只是说“不能创建虚拟目录。”嗯,第一次就是这么说的,直到我从 application.config 文件中删除了应用程序条目,然后就成功了。

当我尝试“覆盖应用程序根 URL”时,它不起作用。它要么收到 Error 500.0 Internal Server 错误,要么在某些情况下,它的行为就像将应用程序的 web.config 文件应用到根目录和虚拟子目录,因为它给出了一个错误,表明我正在尝试添加一个具有以下功能的模块:已经添加(大概在根目录中)。

我尝试在 IIS Express 的 application.config 中编辑项目设置,但设置组合似乎不起作用。

我不明白为什么 Visual Studio 知道该项目部署到 IIS 的子目录中,却将该项目放置在 IIS Express 根目录中。我认为它应该默认匹配目录结构。

这就是现在的样子:

<site name="app" id="5">
   <application path="/" applicationPool="Clr4IntegratedAppPool">
     <virtualDirectory path="/app" physicalPath="C:\Users\username\Desktop\wwwroot\app" />
   </application>
   <bindings>
     <binding protocol="http" bindingInformation="*:3056:localhost" />
   </bindings>
</site>

如果我将应用程序路径更改为“/app”,则会出现错误 500.19,表示配置无效。如果我执行相同的操作并删除虚拟目录标记,则它完全无法启动 IIS Express。

最佳答案

我在这里找到了答案:https://stackoverflow.com/a/4733387/88409 不同的问题,但相同的答案。

基本上,必须创建一个子应用程序,而不仅仅是一个子虚拟目录。

<site name="app" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\username\Desktop\wwwroot" />
    </application>
    <application path="/app" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\Users\username\Desktop\wwwroot\app" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:3056:localhost" />
    </bindings>
</site>

它似乎需要两个应用程序条目(即它需要一个根应用程序(即使它实际上是一个空的虚拟目录)以及子应用程序)。如果我省略根目录中的第一个应用程序条目,则会收到错误 500.19“无法访问所请求的页面,因为该页面的相关配置数据无效。”但是,对于这两个应用程序条目,它都可以正常工作。

据我所知,无法在 Visual Studio 中生成上述设置,因此必须在 application.config 中手动编辑。因此,这些设置与 Web 应用程序项目文件本身完全无关,在我看来,这并不好。

关于asp.net - 如何配置 IIS Express 来调试子目录中的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19818337/

相关文章:

debugging - 如何在JBOSS 5中启用远程调试?

scala - SBT 插件 - 用户通过他们的 build.sbt 为命令定义配置

configuration - 如何在可视化代码中配置uncrustify?

javascript - 如何在加载 Flash 视频时在 Chrome 中设置断点?

使用 OAuth 的 C# Web API 请求/响应日志记录

c# - WebBrowser 导航功能不起作用,并且未调用处理程序

asp.net - web.config urlmapping

javascript - 使用 Firebug 显示 DOM 层次结构

mysql - PHP.ini Mysql 问题

javascript - 使用 Html.BeginFrom 在 ASP.Net MVC 中提交带有 anchor (<a>) 标记的表单