.Net 4.5 MVC 5アプリケーション。保護レベルのため、HttpContext.Current.Items.TryGetValueにアクセスできません。
HttpContext.Current.ItemsでTryGetValueを使用したいが、DictionaryExtensions.TryGetValueというエラーが発生している...保護レベルのためにアクセスできない。
私には何が欠けていますか?
.Net 4.5 MVC 5アプリケーション。保護レベルのため、HttpContext.Current.Items.TryGetValueにアクセスできません。
HttpContext.Current.ItemsでTryGetValueを使用したいが、DictionaryExtensions.TryGetValueというエラーが発生している...保護レベルのためにアクセスできない。
私には何が欠けていますか?
HttpContext.Current.Items System.Collections.Generic.IDictionaryは異なるSystem.Collections.IDictionary(https://msdn.microsoft.com/en-us/library/system.collections.idictionary(v=vs.110).aspx)(https://msdn.microsoft.com/en-us/library/bb299639(v=vs.110).aspx)
あるHttpContext.Current.Items [キー]は場合はnullを返しますキーは存在しないので、TryGetValueメソッドは必要ありません。
HttpContext.Current.ItemsはIDictionaryを
TryGetValue辞書(上の方法である)です。
基本的なライブラリでは、誰かがその目的のためにIDictionaryで独自の拡張メソッドを作成したようですが、内部クラスでなければなりません。
正しいタイプの辞書としてキャストすればOKです。
TryGetValueはIDictionaryのメソッドですhttps://msdn.microsoft.com/en-us/ライブラリ/ bb299639(v = vs.110).aspx – mendel
あなたは、任意の参照が欠落していないそのTryGetValueは唯一のHttpContextの
アイテムのコレクションはIDictionaryをHTTPRequestの単一の間で共有されるキーと値のコレクションをベースにタイプの辞書に利用できる方法であるだけであること。つまり、HttpContext.Current.ItemsはIDictionaryを返しています。この方法について知るには、IntelliSenseの既知のタイプはありません。
次のように使用できます。
HttpContext.Current.Items["ModuleInfo"] = "Custom Module Info”
string contextData = (string)(HttpContext.Current.Items["ModuleInfo"]);
少し奇妙なので、ここにコードを投稿してください。ありがとうございました。 – Christos
関連するコードが1行の場合: if(!HttpContext.Current.Items.TryGetValue(sKey、out value))... – mendel