在Owin自托管WebAPI中使用时,添加过期响应标头会引发异常

问题描述

当我在下面的代码中添加expires标头时,它将引发异常。

public HttpResponseMessage CreateResponse<T>(HttpRequestMessage httpRequestMessage,HttpStatusCode httpStatusCode,T responseObject)
{
    HttpResponseMessage Response = httpRequestMessage.CreateResponse(httpStatusCode,responseObject);

    try
    {
        Response.Headers.Add("Cache-Control","no-cache,no-store,must-revalidate");
        Response.Headers.Add("Pragma","no-cache");
        Response.Headers.Add("Expires","0");
    }
    catch (Exception ex)
    {
        //Logger("Exception while adding the response headers. " + ex.Message);
    }

    return Response;
}

例外:

System.InvalidOperationException: Misused header name. Make sure request headers are used with HttpRequestMessage,response headers with HttpResponseMessage,and content headers with HttpContent objects.  
    at System.Net.Http.Headers.HttpHeaders.CheckHeaderName(String name)  
    at System.Net.Http.Headers.HttpHeaders.Add(String name,String value)  
    at CheckStatusApi.APIControllersV1.NoCacheApiController.CreateResponse[T](HttpRequestMessage httpRequestMessage,T responseObject)

我显然是将其与HttpResponseMessage配合使用,所以我看不出问题所在。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...