我在本地开发了一个MVC控制器,它对URL执行请求并设置......一切都很好:
var client = new RestClient(BaseUrl);
client.IgnoreResponseStatusCode = false;
var response = await client.Execute<T>(request);
if (!response.IsSuccess)
{
//Custom Exception using response.StatusCode
}
当我在本地测试这一切都很好,我得到302重定向状态代码。 我在Azure(MVC服务)上部署了它,并且相同的代码以不同的方式运行:基本上它遵循重定向并且检索状态代码200.
答案 0 :(得分:0)
根据您的描述,我在本地和Azure方面都测试了这个问题。以下是详细内容,您可以参考它并与您的方案进行比较。
/ Home / TestRedirect :对包含302重定向的网址执行请求。
public ActionResult TestRedirect(bool allowAutoRedirect=true)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://bruce-chen-002.azurewebsites.net/home/doredirect");
request.Method = "GET";
request.AllowAutoRedirect = allowAutoRedirect;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
string _response = new StreamReader(response.GetResponseStream()).ReadToEnd();
return Content(_response);
}
}
/ Home / DoRedirect 执行302重定向。
public ActionResult DoRedirect()
{
return Redirect("https://azure.microsoft.com");
}
1.本地测试
AllowAutoRedirect=true
AllowAutoRedirect=false
注意:您可以捕获服务器端请求,因为该站点是由本地IIS服务器启动的。要确定是否重定向请求,您可以检查您上面发送的原始请求的响应。
2.在Azure Web App上测试
AllowAutoRedirect=true
AllowAutoRedirect=false
注意:为了捕获Azure中的重定向,您可以利用Application Insights,然后可以在Azure门户中的Application Insights的“概述&gt;搜索”刀片下检索它如下: