2012-08-15 31 views
2

我有什麼,我試圖實現如何在ServiceStack捕獲的異常完全禁用響應體(ResponseStatus),但保留的StatusCode

我使用ServiceStack並將它啓動和運行信息我需要什麼,但是我無法找到如何禁用未捕獲異常的正文/內容。

我有ServiceStack處理所有路由。

如果我瀏覽到未映射到ServiceStack的路線,我得到的404(完美)中的反應身體的StatusCode和內容「處理器的請求未發現:......」

如果我的代碼拋出未捕獲的異常,ServiceStack會返回一個相關的StatusCode,但它也會返回一個帶有ErrorCode和Message填充的ResponseStatus。

我有DebugMode關閉,這將禁用StackTrace,但是我想完全靜音異常響應的整個正文。

我已經試過

我曾嘗試以下的響應濾波器:

ResponseFilters.Add((req, res, dto)) => 
{ 
    if (dto is Exception) res.Close(); 
}); 

遺憾的是它沒有工作。

我想避免

try{ 
    return service.GetResponse(); 
} catch (Exception) { 
    return new HttpResult(.....); 
} 

我的問題

如何禁用響應主體爲所有捕獲的異常,但仍返回的StatusCode?我希望返回null,並且StatusCodes保持機智。

我試圖讓我的問題清楚,但如果我以某種方式有點模糊,請向我提問。

回答

相關問題