だからこんにちは。Xamarin.FormsポータブルプロジェクトでSystem.Collectionsを使用する方法
私はの.NET FrameworkのCookieContainerクラスに問題があります。 CookieContainerの中にクッキーがあると、クッキーはgetCookiesで取得できません。私は自分のドメインのような多くのサブドメインがあるため、問題は、CookieContainerクラスのメソッドgetCookies()にあると思う:その場合、
this.has.lots.of.subdomains.com
いけない知っているがバグ、または私が間違って何かをしている場合、私はすべてのクッキーを取得して、私が得たすべてのクッキーを介して を繰り返して検索することでこの問題を回避することに決めました(ほとんど2 - 3クッキーです。かなり大きな問題です。)
私がstackoverflowで見つけた方法は、この1つです:
public static CookieCollection GetAllCookies(this CookieContainer cookieJar)
{
CookieCollection cookieCollection = new CookieCollection();
Hashtable table = (Hashtable)cookieJar.GetType().InvokeMember("m_domainTable",
BindingFlags.NonPublic |
BindingFlags.GetField |
BindingFlags.Instance,
null,
cookieJar,
new object[] { });
foreach (var tableKey in table.Keys)
{
String str_tableKey = (string)tableKey;
if (str_tableKey[0] == '.')
{
str_tableKey = str_tableKey.Substring(1);
}
SortedList list = (SortedList)table[tableKey].GetType().InvokeMember("m_list",
BindingFlags.NonPublic |
BindingFlags.GetField |
BindingFlags.Instance,
null,
table[tableKey],
new object[] { });
foreach (var listKey in list.Keys)
{
String url = "https://" + str_tableKey + (string)listKey;
cookieCollection.Add(cookieJar.GetCookies(new Uri(url)));
}
}
return cookieCollection;
}
Unfortuneatlyは、この回避策はI'amはXamarin.Formsポータブルプロジェクトに取り組んでいるので、私はにSystem.Collections名前空間、からHashtableのように、使用傾けるいくつかのクラスを使用しています。
私は、にSystem.Collections名前空間を含めるように見えるのMicrosoft基本クラスライブラリと呼ばれるパッケージがあること、が分かったそれでも私のポータブルプロジェクトでそれをインストールした後、私はにSystem.Collectionsパッケージを使用傾けます。
何か不足していますか、何か誤解しましたか?あなたが知っているなら、どのように私はこれらのクラスを使用することができます、私が何をする必要があるか正確に教えてください。
ありがとう、私はそれを試みます。 SortedListを置き換えるにはどうすればいいですか?PCLにもないからです。 –
あなたのニーズに応じて、( 'System.Collection.Generic')' SortedDictionary'または 'SortedSet'はあなたの' SortedList'を置き換えることができるはずです – SushiHangover
あなたはこの回答を見た:http://stackoverflow.com/a/ 30080722/4984832 – SushiHangover