asp.net-web-api - index.html 在 Global.asax.cs 或 WebApiConfig.cs 之前运行
问题描述
我正在调试为什么属性路由不起作用并发现使用 VS 2017 的 WEB API 项目的奇怪行为,即
如果它是“设置为起始页”,任何网页都将在 Global.asax.cs 之前运行。
方法如下:
- VS 2017,新项目,C#,web,ASP.NET Web 应用程序。
- 空模板,选中 WebAPI 复选框。
- 它现在在 App_Start 中有 Global.asax、WebApiConfig.cs,在任一文件中放置一个断点。
- 将 index.html 文件添加到项目中,为其添加一个按钮,并将其设置为起始页。
- F5,index.html 运行,点击按钮,一切都按预期运行但从不命中 WebApiConfig.cs 中的断点。
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<input type="button" value="Go" onclick="alert('hello');" />
</body>
</html>
MS站点上的这个示例项目总是遇到断点:如果没有设置起始页,那么总是在其他所有内容之前到达它,否则在 index.html 之后显示。比较 .csproj 文件,唯一的区别是它使用 .NET 框架 4.6 与 4.5.2。但是,如前所述,使用 4.6 创建一个新项目,结果是相同的。
解决方案
尽管 index.html 是项目的一部分,但启动它不会像我假设的那样触发 App_Start,App_Start 仅在服务器端 .aspx 启动或此项目被 Api 请求命中时触发。
推荐阅读
- tampermonkey - 从网页中调用用户脚本函数以关闭当前选项卡
- powershell - 如何检查是否存在自定义文化
- python - 在分布式模式下运行 Locust 时出现关键错误
- javascript - 将图像上传到 Firebase 后,Google Vision API 无法正常工作
- web-scraping - 从buymeacoffee网站刮掉支持者的名字
- symfony - 表单字段验证失败,但它们不在表单中
- next.js - 您可以将语言环境转发到 nextjs i18n 中的语言吗?
- javascript - react-native-track-player 隐藏通知
- pandas - 从熊猫的多列和不同行中添加数字
- amazon-web-services - 尽管添加了有效的 arn,但在云端分发的设置下看不到证书