在通过IIS Express运行Web API项目时,我遇到了VS 2015 Update 3的这个奇怪问题。以下是我遵循的步骤
1>启动Visual Studio 2015(使用Update 3)
2 - ;选择新的Asp.NET 4.6.2 Web项目
3 GT;选择空项目 - >并检查Web.API复选框
4>解决方案准备就绪后,使用Web API2 Controller with read/write actions
创建新的Controller并将控制器命名为DocumentController
5>在项目启动时,routeTemplate设置为routeTemplate: "api/{controller}/{id}"
6个按F5运行应用程序
7个Visual Studio将IIS中的API托管为http://localhost:53394
,因此我键入http://localhost:53394/api/document
,我在浏览器中看到了一些json结果。
8是氢。现在我将API项目的项目URL从http://localhost:53394
更改为http://localhost:53394/api/document
,希望我不必每次都输入整个URL。当我更改URL时,我得到提示
我选择是。然而,这不起作用。事实上,现在我的网址变为http://localhost:53394/api/document/api/document
9基所以我将项目URL更改回http://localhost:53394
。这次没有提示我。
10>现在当我尝试使用http://localhost:53394/api/document
访问api时出现错误
HTTP错误403.14 - 禁止
Web服务器配置为不列出其内容 目录
但是如果我使用URL http://localhost:53394/api/document/api/document
访问api,那么我会得到结果。
我尝试重启visual studio,清除浏览器历史,没有运气 不确定为什么&其中VS缓存URL。
答案 0 :(得分:0)
Visual Studio不会缓存任何网址。
更改项目设置' url回到http://localhost:53394/
。这是网站的 root 网址。
接下来,您需要清理IIS Express配置。如果你想要它,你可以乱用XML。我发现最好删除文件夹。 VS无论如何都会重新创建它们。
这些配置位于名为.vs
的特殊文件夹中,该文件夹与解决方案文件位于同一文件夹中。它已隐藏,因此您需要在Windows资源管理器中Show hidden files
。 (请注意任何其他读者,这是VS 2015特有的。在早期版本的VS中,这些配置位于AppData的IIS Express文件夹中。)
在此之后,您应该重新创建虚拟目录,然后重试。如果这不起作用,请使用结果更新您的问题。