非本地主机时不显示 OData 注释

OData Annotations do not appear when not localhost

我正在通过抛出标准 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
            });

本地请求渲染结果正确

但是,当请求不在同一服务器上时,注释不会呈现,有没有办法配置此行为?

注意:目前使用的nuget包是Microsoft.OData.Core6.12.0

也许将 config.IncludeErrorDetailPolicy 设置为始终会有所帮助。默认设置为 IncludeErrorDetailPolicy.LocalOnly:

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

            config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
        }
    }