2017-04-09 11 views
-1

ここに私のコードがあります。l_request.Headersには何も含まれていません.I Postmanにヘッダ値を挿入しました。Web APIコントローラでヘッダ値を取得できないC#

HttpRequestMessage l_request = new HttpRequestMessage(); 
var l_headers = l_request.Headers; 
string l_headerValue = ""; 
if (l_headers.Contains("Content-Over")) 
{ 
    l_headerValue = l_headers.GetValues("Content-Over").First(); 
} 
+1

あなたが空として作成した場合、 'l_request'が含まれている必要があることは何を期待していますか?このコードはどこにありますか?これはMVCアプリのコントローラですか? Web APIアプリケーション?具体的に質問に関連する詳細を追加してください。 –

答えて

0

新しいインスタンスを初期化する代わりに、静的リクエストを使用する必要があります。 これがフィルタの場合、要求はコンテキストオブジェクトにあります。

0

ありがとうございました。 @ダニエルRapaport。

私のコードを以下のように変更して取得しました。

public string GetHeaderValue() 
{ 
     var re = Request; 
     var headers = re.Headers; 

     string l_headerValue = ""; 
     if (headers.Contains("Content-Over")) 
     { 
      l_headerValue = headers.GetValues("Content-Over").First(); 
     } 

     return l_headerValue; 
} 

それとも

System.Web.HttpContext.Current.Request.Headers["Content-Over"] 
関連する問題