4

OpenRasta を使用してサービスを構築しました。操作インターセプターでリソースを検証しています。検証が失敗した場合、JSON として ErrorResource とともに BadRequest が返されます。ErrorResource には、エラー メッセージのリストが含まれています。私のローカル マシンでは、ErrorResource が JSON 形式で正しく返されます。応答のコンテンツ タイプは application/json です。テスト環境では、サービスは BadRequest で応答しますが、コンテンツ タイプは text/html です。エラー メッセージのリストは返されません。代わりに、応答には「Bad Request」というメッセージが含まれています。なぜこれが起こっているのですか?

インターセプターの簡略化されたバージョンは次のとおりです。

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

    errorResource.AddErrorMessage("Error!");

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

    return false;
}

構成の簡略化されたバージョンを次に示します。

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

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

1 に答える 1

4

IIS でエラー ページを無効にします。メーリングリストのメールにいくつかの情報があります。http://groups.google.com/group/openrasta/browse_thread/thread/50ac9048d8e4a77e/4977aab1334a3e60?#4977aab1334a3e60を参照してください。

于 2011-06-24T16:23:39.810 に答える