2
我有一個asp.net mvc路由,它正在取得一個url並做一個簡單的get和從請求中返回狀態碼。從Mvc路由返回不正確的http狀態代碼
<AcceptVerbs(HttpVerbs.Post)> _
Public Function ValidateUrlStatusCode(ByVal url As String) As ActionResult
Dim code As Integer = 0
Try
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
request.Method = "GET"
request.AllowAutoRedirect = True
Using response As HttpWebResponse = request.GetResponse
response.Close()
code = response.StatusCode
End Using
Catch ex As Exception
code = HttpStatusCode.InternalServerError
End Try
Return Content(code, "text/plain")
End Function
現在,如果我使用Firefox(使用Firebug)並轉到網址http://www.facebook.com/blah.html,我得到預期的404返回。但是,如果我使用我的應用程序通過ajax調用來調用mvc路由,則獲得200.如果將請求對象的AllowAutoRedirect設置爲false,則獲得302.我從來沒有獲得404。我正通過Firebug再次驗證這一點。任何人都可以指出我做錯了什麼?
謝謝!
偉大的工作,謝謝! – 2011-04-27 20:31:39