为什么在调试模式下启动时只能访问MVC Web Api?

时间:2014-02-03 00:44:28

标签: c# asp.net-mvc asp.net-mvc-4 asp.net-web-api

我的笔记本电脑和台式电脑都遇到了一个奇怪的问题。

在我的解决方案中,我有一个MVC 4 Web Api,解决方案由Visual Studio 2013启动 因此,如果将Web API项目设置为启动项目,那么当我键入web api的某个URL时,它会命中控制器。

但是如果启动文件夹是另一个项目,比如使用这个web api的网站,那么web api就无法访问。

我甚至尝试使用在调试模式下启动web api时可用的相同URL。

那么,可能出现什么问题?

3 个答案:

答案 0 :(得分:1)

最有可能的问题是Web服务器没有运行。尝试使用固定的URL和端口在IIS中托管您的Web API。

或者您尝试设置多个启动项目,如下所示:

  • 在解决方案资源管理器中,
  • 选择,右键单击您的解决方案。
  • 在“项目”菜单上,单击“属性”。将打开“解决方案属性页”对话框。
  • 点击Startup Project
  • 单击Multiple Startup Projects并设置项目操作开始。

enter image description here

答案 1 :(得分:0)

尝试两种可能的想法:

  1. 左键单击WebApi项目,然后打开属性窗口(快捷键F4),确保Always Start When Debugging设置为true
  2. 调试消费者应用程序时,右键单击WebApi项目,然后单击Debug > Start New Instance
  3. 如果它们不起作用,最好的解决方案是使用IIS / IISExpress托管WebApi应用程序

答案 2 :(得分:0)

我发现了实际问题。 我正在运行Windows 7 x64和Visual Studio 2013。 我必须取消选中工具 - >选项 - >调试下的启用编辑并继续复选框。

现在我在我的解决方案中使用了一个启动项目,并且在不处于调试模式时也可以调用web api。