2012-06-27 107 views
6

我使用以下代碼從過濾器(ActionFilterAttribute)向客戶端發送錯誤消息。從catch塊發送格式錯誤消息給客戶端

catch (Exception) 
{ 
    var response = context.Request.CreateResponse(httpStatusCode.Unauthorized); 
    response.Content = new StringContent("User with api key is not valid"); 
    context.Response = response; 
} 

但問題是它只發送純文本。我想將它作爲當前格式化程序的格式發送。就像json或xml一樣。

在這裏我知道這是因爲我使用StringContent()。但是我們如何編寫使用自定義錯誤對象? 像,下面不工作之一:

response.Content = new Error({Message = "User with api key is not valid"}); 

我們如何編寫代碼呢?提前致謝。

回答

8

雅,我發現寫作的正確語法。我們可以這樣寫:

catch (Exception) 
{ 
    var response = context.Request.CreateResponse(HttpStatusCode.NotFound, 
         new Error { Message = "User with api key is not valid"}); 
    context.Response = response; 
} 
+0

如何在MVC 3中做到這一點? –

相關問題