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