我对ASP.NET4.0 WebAPI非常陌生。我们可以在POST操作结束时重定向到另一个URL吗?,类似于…响应。重定向(url)
实际上,我通过WebAPI从MVC应用程序(例如www.abcmvc.com
)上传文件(例如www.abcwebapi.com/upload
)
这里上传
是POST操作。我将一个多部分表单发布到WebAPI上传控制器的发布操作。上传后,我想重定向回www.abcmvc.com
。
这可能吗?
确定:
public HttpResponseMessage Post()
{
// ... do the job
// now redirect
var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("http://www.abcmvc.com");
return response;
}
这是另一种无需硬编码url即可访问网站根目录的方法:
var response = Request.CreateResponse(HttpStatusCode.Moved);
string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
response.Headers.Location = new Uri(fullyQualifiedUrl);
注意:仅当您的MVC网站和WebApi位于同一URL时才有效
[HttpGet]
public RedirectResult Get()
{
return RedirectPermanent("https://www.google.com");
}