Giả sử tôi có biến sau đây:Kiểm tra nếu HttpStatusCode đại diện cho sự thành công hay thất bại
System.Net.HttpStatusCode status = System.Net.HttpStatusCode.OK;
Làm thế nào tôi có thể kiểm tra nếu điều này là một mã trạng thái thành công hay một thất bại?
Ví dụ, tôi có thể làm như sau:
int code = (int)status;
if(code >= 200 && code < 300) {
//Success
}
Tôi cũng có thể có một số loại danh sách trắng:
HttpStatusCode[] successStatus = new HttpStatusCode[] {
HttpStatusCode.OK,
HttpStatusCode.Created,
HttpStatusCode.Accepted,
HttpStatusCode.NonAuthoritativeInformation,
HttpStatusCode.NoContent,
HttpStatusCode.ResetContent,
HttpStatusCode.PartialContent
};
if(successStatus.Contains(status)) //LINQ
{
//Success
}
Không ai trong số những lựa chọn thay thế thuyết phục tôi, và tôi đã hy vọng cho một Lớp hoặc phương thức .NET có thể thực hiện công việc này cho tôi, chẳng hạn như:
bool isSuccess = HttpUtilities.IsSuccess(status);
bạn cần phải thực hiện 'int code = (int) Response.StatusCode' từ đó bạn sẽ cần phải tạo của riêng bạn' Enum' kiểm tra ở đây để làm việc ví dụ http://stackoverflow.com/questions/1330856/ get-http-status-code-number-200-301-404-etc-from-httpwebrequest-and-ht – MethodMan
Bạn có cơ hội sử dụng lớp 'HttpClient' không? – dcastro
@dcastro Không, tôi xin lỗi. Tôi đang sử dụng API * cấp cao có thể (hoặc có thể không) sử dụng nó trong nội bộ. API hiển thị mã trạng thái của phản hồi, nhưng không hiển thị 'HttpResponseMessage' bên trong ví dụ –