不是localhost时,OData注释不会出现

时间:2015-06-17 06:09:35

标签: odata asp.net-web-api2

我正在通过抛出标准的HttpResponseException来构建OData响应。 异常本身是使用基于ODataError的HttpResponseMessage构建的。

  new ODataError()
            {
                ErrorCode = code,
                Message = message,
                InnerError = new ODataInnerError()
                {
                    Message = innerException.Message,
                    StackTrace = innerException.StackTrace,
                    TypeName = innerException.GetType().Name
                },
                InstanceAnnotations = annotations
            });

在localhost上发出请求时,呈现的结果是正确的。

但是,如果未在同一服务器上发出请求,则不会呈现注释,是否有办法配置此行为?

注意:当前使用的nuget包是Microsoft.OData.Core 6.12.0

1 个答案:

答案 0 :(得分:0)

config.IncludeErrorDetailPolicy设置为始终可能会有所帮助。它默认设置为IncludeErrorDetailPolicy.LocalOnly

public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // ...

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
        }
    }