2011-06-23 54 views
4

我已經使用OpenRasta構建了一項服務。我正在驗證操作攔截器中的資源。如果驗證失敗,則以ErrorResource返回BadRequest作爲JSON。 ErrorResource包含錯誤消息列表。在我的本地機器上,ErrorResource以JSON格式正確返回。響應內容類型是application/json。在我們的測試環境中,服務使用BadRequest響應,但內容類型爲text/html。錯誤消息的列表不會被返回。相反,響應包含消息「錯誤的請求」。任何想法爲什麼發生這種情況?OpenRasta壞請求不會返回爲JSON

這裏是攔截器的簡化版本:

public override bool BeforeExecute(IOperation operation) 
{ 
    var errorResource = new ErrorResource(); 

    errorResource.AddErrorMessage("Error!"); 

    _communicationContext.OperationResult = new OperationResult.BadRequest() { ResponseResource = errorResource }; 

    return false; 
} 

下面是配置的簡化版本:在IIS

using (OpenRastaConfiguration.Manual) 
{ 
    ResourceSpace.Has 
     .ResourcesOfType<ErrorResource>() 
     .WithoutUri 
     .AsJsonDataContract(); 

    ResourceSpace.Uses.CustomDependency<IOperationInterceptor, InputValidationInterceptor>(DependencyLifetime.Transient); 
} 
+0

您可以發佈您的配置代碼片斷,其中顯示瞭如何配置ErrorResource?還發布你的攔截器? – taylonr

+0

我已經添加了上面的相關代碼。就像我說的那樣,它可以在我的機器上運行:-)但是不在我們的測試環境中:-( – JuniorDeveloper

回答