非本地主机时不显示 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;
}
}
我正在通过抛出标准 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;
}
}