加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 为什么我不能在HTTP响应头中设置“允许”?

发布时间:2020-12-15 04:14:29 所属栏目:百科 来源:网络整理
导读:我使用ASP.NET Web Api编写了一个RESTful API.现在我试图让它返回一个控制器允许的动词.我试图使用以下代码: [AcceptVerbs("OPTIONS")]public HttpResponseMessage Options(){ var response = new HttpResponseMessage(HttpStatusCode.OK); response.Header
我使用ASP.NET Web Api编写了一个RESTful API.现在我试图让它返回一个控制器允许的动词.我试图使用以下代码:
[AcceptVerbs("OPTIONS")]
public HttpResponseMessage Options()
{
    var response = new HttpResponseMessage(HttpStatusCode.OK);
    response.Headers.Add("Access-Control-Allow-Origin","*");
    response.Headers.Add("Access-Control-Allow-Methods","POST");
    response.Headers.Add("Allow","POST");

    return response;
}

但是,我没有在我的回复中得到一个允许标题,我收到一个500内部服务器错误.调试时收到以下错误:

{"Misused header name. Make sure request headers are used with HttpRequestMessage,response headers with HttpResponseMessage,and content headers with HttpContent objects."}

是否可以设置该标题?

解决方法

正如错误消息所述,您必须使用HttpContent对象的内容头文件.
response.Content.Headers.Add("Allow","POST");

必须承认这是一个奇怪的API …

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读