我需要從我的asp.net mvc控制器拋出一個異常返回給客戶端。拋出一個異常並返回一個狀態碼和一條消息
我可以這樣做:
throw new HttpResponseException(HttpStatusCode.NotAcceptable);
返回一個狀態代碼。
或者我可以這樣做:
throw new HttpRequestException("You must fill the name!");
返回的消息。
我的問題:是否可以結合兩種解決方案來提供狀態碼和消息?
Somethink像:
throw new HttpRequestException(HttpStatusCode.NotAcceptable, "Fill the name!");
感謝。
UPDATE
請注意,這是一個asp.net MVC的網站,但使用的微風框架。我的驗證失敗時需要拋出異常(所以在保存我的更改服務器端之前)。
public class TPBContextProvider : EFContextProvider<BreezeContext>
{
protected override bool BeforeSaveEntity(EntityInfo entityInfo)
{
...
throw new HttpResponseException(HttpStatusCode.Conflict);
,我不認爲你應該DAL拋出HTTP錯誤。考慮使用你自己的異常類,比如'ContextException',你可以給你一個特定的錯誤代碼,你可以在你的動作方法中找到它,然後你可以將代碼翻譯成HTTP狀態代碼和消息。 – CodeCaster