我有一个在.NET 4.5上运行的ASP.NET WEB API代码,带有MVC 4.0 RC和EF 5.0预发行版。 这是在IIS 7.5,Win server 2008 R2 Datacenter上运行。
现象如下:
在本地调用POST到localhost(在IIS上)时,一切正常,我被重定向到创建的对象作为响应页面(它在响应头中设置),状态为201。
但是从外部网址调用时,我没有得到回应。代码运行良好,没有例外,但在Chrome开发人员工具中,我看到没有回复。它说请求被取消了。
无论我怎样尝试,都无法解决这个问题。同一个IIS文件夹上的完全相同代码从本地调用运行正常,但对于远程调用 - 不返回任何内容。这种情况发生在2个不同的控制器上。
但是,其他呼叫(例如Get)适用于本地和远程呼叫。
这是POST方法中的Controller代码,用于构建响应:
HttpResponseMessage response = this.Request.CreateResponse<Movie>(HttpStatusCode.Created, Movie);
string uri = Url.Route(null, new { id = Movie.Id });
response.Headers.Location = new Uri(Request.RequestUri, uri);
return response;
非常感谢您的帮助!
谢谢!