在IIS上部署后,使用Web API的MVC Web App无法运行

时间:2016-06-22 16:13:50

标签: asp.net-mvc rest asp.net-web-api

我使用asp.net MVC架构创建了Web应用程序。 我使用Web API从数据库中获取数据。 Web应用程序和Web API都在同一个项目中。我没有在IIS上单独发布Web API。

当我通过Visual Studio调试或运行应用程序时,它可以正常工作。我使用下面的代码从Web API URL

获取数据
 TODOINfo[] lstToDoInfo = httpClient.GetAsync("http://localhost:65373/api/RESTApi").Result.Content.ReadAsAsync<TODOINfo[]>().Result;

在Above函数中,我传递的url包含localhost和固定端口号。在Visual Studio中运行时,上面的代码工作正常。

我通过执行以下更改在IIS上发布了相同的代码。

TODOINfo[] lstToDoInfo = httpClient.GetAsync("http://" + sBaseUrl + "/api/RESTApi").Result.Content.ReadAsAsync<TODOINfo[]>().Result;

sBaseUrl值是“localhost”。

浏览Internet Explorer上的应用程序后出现以下错误。

No MediaTypeFormatter is available to read an object of type 'TODOINfo[]' from content with media type 'text/html'.

非常感谢有关上述问题的任何信息或建议。

1 个答案:

答案 0 :(得分:1)

尝试将sBaseURL更改为"localhost/" + 您的网站

另一种选择是将sBaseURL更改为: servername / yourwebsite