我对 ASP.NET 4.0 Web API 很陌生。我们可以在 POST 操作结束时重定向到另一个 URL 吗?例如...Response.Redirect(url)
实际上,我www.abcmvc.com
通过 Web API(例如www.abcwebapi.com/upload
)从 MVC 应用程序(例如)上传文件
这upload
是 POST 操作。我将多部分表单发布到 Web API 上传控制器的发布操作。上传后我想重定向回www.abcmvc.com
.
这可能吗?
我对 ASP.NET 4.0 Web API 很陌生。我们可以在 POST 操作结束时重定向到另一个 URL 吗?例如...Response.Redirect(url)
实际上,我www.abcmvc.com
通过 Web API(例如www.abcwebapi.com/upload
)从 MVC 应用程序(例如)上传文件
这upload
是 POST 操作。我将多部分表单发布到 Web API 上传控制器的发布操作。上传后我想重定向回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");
}
你可以检查这个
[Route("Report/MyReport")]
public IHttpActionResult GetReport()
{
string url = "https://localhost:44305/Templates/ReportPage.html";
System.Uri uri = new System.Uri(url);
return Redirect(uri);
}