index.html在Global.asax.cs或WebApiConfig.cs之前运行

时间:2018-04-28 19:18:39

标签: asp.net-web-api

我正在调试为什么属性路由没有生效,并发现使用VS 2017的WEB API项目的奇怪行为,即

  

任何网页都会在Global.asax.cs之前运行,如果它是“Set as Start”   页”。

以下是:

  1. VS 2017,新项目,C#,Web,ASP.NET Web应用程序。
  2. 清空模板,选中WebAPI复选框。
  3. 它现在在App_Start中有Global.asax,WebApiConfig.cs,在任一文件中放置一个断点。
  4. 将index.html文件添加到项目中,向其添加一个按钮,并将其设置为“开始页面”。
  5. F5,index.html运行,单击按钮,一切按预期运行,但从不命中WebApiConfig.cs中的断点。
  6. 的index.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <input type="button" value="Go" onclick="alert('hello');" />
    </body>
    </html>
    

    MS站点上的此示例proj始终命中断点:如果没有设置Start页面那么总是在其他所有内容之前到达它,在显示index.html之后ELSE。比较.csproj文件,只有diff使用.NET framework 4.6和4.5.2。 但是,如前所述,使用4.6来创建一个新的项目,结果是一样的。

1 个答案:

答案 0 :(得分:0)

尽管index.html是项目的一部分,但启动它不会像我假设的那样触发App_Start,App_Start仅在服务器端.aspx启动或此项目被Api请求命中时触发。