我正在尝试在我的ASP.NET MVC应用程序中为未处理的异常创建一些基本日志记录,但是当我使用IIS6时,所有请求都来自.NET.虽然我同意丢失的图像是标记的重要内容,但它们不是show-stoppers,所以我想将事件优先级设置为404s的高,除非它们是图像(将获得中等优先级).
问题是,在Application_OnError该Response.StatusCode200,但发出了最后的结果是404.为此,我似乎不能够看出来404来设置相应的优先级.
有没有办法告诉StatusCode它会是什么?
当我尝试获取不存在的页面或使用无效的HTTP方法时,HttpWebRequest.GetResponse()抛出System.Net.WebException一个Status属性为ProtocolError.在Message属性中,我可以在括号中看到HTTP状态代码.精细.但我没有看到整数StatusCode属性.我是否真的必须解析Message属性才能获得它?
.net httpwebrequest http-status-codes system.net.webexception
我正在使用基本Response.StatusCode设置将状态代码设置为9999.此页面通过AJAX调用进行调用,检查状态代码readyState = 4并使用设置的消息在9999 上弹出警报Response.StatusDescription.我得到的只是readyState = 4和statusCode = 200.我可以提供代码,如果需要,但它不是修剪,所以如果代码需要/要求我将削减它.感谢任何帮助.用C#ASP.NET和Javascript编写.
更新 目的:在将用户添加到SQL表时,我起诉状态代码9999以表示"用户已存在"错误.这是我能找到的唯一方法,让AJAX调用知道何时发生此错误.
我在域的根目录中有一个.htaccess文件和一个index.html文件.我在下面的.htaccess文件中编码:
DirectorySlash Off
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*[^/])?$ /index.html [L]
Run Code Online (Sandbox Code Playgroud)
我希望用户在访问目录URL时会看到index.html中的内容,无论此目录URL是否有斜杠.所以我上面有代码.
但我有一个问题.当我访问不存在的目录时.我得到404.这不是我想要的.我希望用户在访问目录URL时永远可以获得200并在index.html中查看内容.如何通过编辑.htaccess文件中的代码来解决此问题?
BTW.请不要将用户重定向到index.html文件.
谢谢!
.htaccess url-rewriting http-status-codes http-status-code-404 http-status-code-200
如果WCF服务返回错误,则我的客户端请求设置状态代码= 420。我该如何实现?
这有可能吗?我试图设置HTTP状态代码
WebOperationContext ctx = WebOperationContext.Current;
ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.BadRequest;
Run Code Online (Sandbox Code Playgroud)
我在HttpStatusCode中找不到状态代码420。
我正在使用java.net.HttpUrlConnection向我的服务器发出 Http 请求。我意识到如果服务器返回错误状态(例如 400)。HttpUrlConnection 将抛出与错误状态对应的 IOException。
我的问题是: 如果服务器返回错误状态(4xx、5xx),HttpUrlConnection 是否总是抛出 IOException?
我查看了HttpUrlConnection API 描述,但我无法回答我的问题。
更新:请看我的测试:
public static void main(String[] args) {
try {
String url = "https://www.googleapis.com/oauth2/v3/userinfo?access_token=___fake_token";
HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();
conn.getResponseCode();
conn.getInputStream();
} catch (Exception ex) {
ex.printStackTrace();
// Print IOException: java.io.IOException: Server returned HTTP response code: 401 for URL: https://www.googleapis.com/oauth2/v3/userinfo?access_token=abc
// If I commented conn.getResponseCode() -> The same IOException
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用调用ThirdParty API JsonServiceClient。
var client = new JsonServiceClient(ServiceURL);
var response = client.Get<Output>("Search?id=" + id);
Run Code Online (Sandbox Code Playgroud)
输出是类表示来自第三方API的响应。我能够正确获得输出。但是我想捕获此API响应的StatusCode。我怎样才能做到这一点?
注意我尝试了WebHttpResponse对象而不是Output(response class)。但是我希望statuseCode应该是Output类的属性,而不是的参数
WebHttpResponse。有什么办法可以做到这一点?
通过 抓取图像GetStreamAsync,如何确定状态?
HttpClient OpenClient = new HttpClient();
Stream firstImageStream = OpenClient.GetStreamAsync("imageUrl.jpg").Result;
Run Code Online (Sandbox Code Playgroud)
有时这会产生错误(通常为 403 或 404),我只想跳过处理这些结果。
我能找到的所有内容都说要使用StatusCode属性 or IsSuccessStatusCode,但那些似乎只适用于HttpResponseMessage来自 GetAsync 的 ,它没有给我Stream处理图像所需的条件。
如果您GET对资源进行了请求,那么您可以获得Not Modified响应以避免不必要的流量.
问题是为什么返回代码是304?这意味着它是一个重定向响应.在这种情况下,预期的重定向位置是什么?
我2xx原本预计它会在范围内,因为它是一个有效答案的成功请求.
请参阅RFC.
c# ×4
java ×2
.htaccess ×1
.net ×1
ajax ×1
asp.net-mvc ×1
exception ×1
getasync ×1
http ×1
httpresponse ×1
ioexception ×1
javascript ×1
servicestack ×1
servlets ×1
stream ×1
wcf ×1
web-services ×1