我試圖添加一個自定義消息與我的Web服務的HTTP錯誤響應。我希望是這樣的:ServiceStack自定義HTTP響應添加消息和錯誤代碼
The remote server returned an error: (406) Not Acceptable. Custom message: {ErrorCode: 2, Error: "No Username"}
我嘗試這樣做:
throw new HttpError(System.Net.HttpStatusCode.NotAcceptable, "No Username");
而且這樣的:
string ErrorMessage = "ErrorCode = 2, Error = No Username";
throw new HttpError(406, ErrorMessage);
而且這樣的:
var responseDto = new UserCreatedResponse { ErrorCode = 2, Error = "No Username" };
return new HttpResult(responseDto, HttpStatusCode.NotAcceptable)
{
StatusDescription = "Computer says no",
};
我跟着serviceStack文檔https://github.com/ServiceStack/ServiceStack/wiki/Customize-HTTP-Responses但我不明白,我只得到Http錯誤「遠程服務器返回錯誤:(406)不可接受。」但不是自定義消息。 我誤解了一些東西嗎? 謝謝
嗨@mythz,我試圖鍛鍊如何使用你的服務,我很抱歉,但我沒有看到發送錯誤信息接收......錯誤信息的要點。請告訴我,如果我錯過了這一點。我在想的是和錯誤處理程序,它將分析發佈的數據併發送各種錯誤的不同描述。我把我的代碼放在GitHub上,你可以看到我嘗試發送相同的HTTP代碼和每個錯誤情況的不同描述。有鏈接:https://github.com/SuperBulot/Custom_response/commit/c87c56868df516129d9b3fc586cd56ce89ec2c85 感謝您的幫助 – Ben 2014-12-18 12:41:07
@Ben上述服務表明,拋出一個'HttpError'服務確實工作如預期的自我託管和大多數ASP.NET Web服務器,但不會在VS WebDev服務器中工作,因爲它不允許設置自定義的StatusDescription。 – mythz 2014-12-18 16:16:27
我知道,我正在使用ASP.NET Web服務器uder IIS 8.1。我想我會在經典的DTOs響應中添加我的ErrorCode和錯誤描述。無論如何感謝 – Ben 2014-12-18 17:04:28