2016-08-19 4 views
0

平文の古いASP.NETでCookieを読み取るのは、HttpContext.Current.Requestオブジェクトを取得するのと同じくらい簡単ですが、DNXではそのようなオブジェクトはありません。Microsoft.AspNet(DNX)でCookieを読み取る方法

応答を変更するには、Cookie値をどのようにチェックするのですか?

public static string GetContentValueByKey(this Dictionary<string, string> content, string key) { 
    string value; 
    var cookies = HttpContext.Current.Request.Cookies; 
    var showKeysOnly = cookies["showonlykeys"] != null && cookies["showonlykeys"] == "yes"; 
    return showKeysOnly ? key : content.TryGetValue(key, out value) ? value : key; 
} 

が、私たちはもはや:

public static string GetContentValueByKey(this Dictionary<string, string> content, string key) { 
    string value; 
    return content.TryGetValue(key, out value) ? value : key; 
} 

は私が返すのみkey代わりvalue ...私は簡単に行うことができ、「古き良き日」で、クッキーの値に基づいて、今たくありませんそのようなオブジェクトにアクセスできます...コントローラの外部にあるCookieにアクセスするためのトリックは何ですか?

答えて

0

ASP.NETコアでは、スタティックHttpContext.Currentとして何もありません。パススルー(コントローラからusingメソッドへ)、または依存関係注入を使用してIHttpContextAccessorを介してHttpContextを取得する必要があります。これは以前に利用可能にする必要があります。次に、httpContext.Request.Cookies.Get("showonlykeys")を使用して値を取得できます。

+0

ps。 DNXは古くなっており、もはやサポートされていません。 RTMに更新! – Thomas

関連する問題