10

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 Internal Server Error. デバッグ中に次のエラーが表示されます。

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

そのヘッダーを設定することは可能ですか?

4

2 に答える 2

14

エラー メッセージにあるように、オブジェクトにはコンテンツ ヘッダーを使用する必要がありHttpContentます。

response.Content.Headers.Add("Allow", "POST");

これはちょっと変わったAPIであることを認めなければなりません...

于 2013-01-11T21:04:31.813 に答える
3

Allow はコンテンツ ヘッダーです。

        response.Content.Headers.Allow.Add("POST");
于 2013-01-11T21:10:01.083 に答える