空である CookieContainer にアクセスしようとすると、ユニバーサル Windows アプリで WCF 認証サービスにログインしています。
Windows 8.1 アプリの同じコードは正常に動作します。
basicbindings に対して AllowCookies を true に設定しました。サービスは PCL に配置されているため、ユニバーサル Windows アプリで「サービス参照の追加」を直接使用しても使用できない CookieContainer プロパティを使用できます。
(UWP アプリ) メインページ
var binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
binding.AllowCookies = true;
new ClassLibrary1.Class1().Login(binding);
(PCL) クラス1
public class Class1
{
public void Login(BasicHttpBinding binding)
{
var Client = new ServiceReference1.AuthenticationServiceClient(binding, new EndpointAddress("*****.svc"));
Client.LoginAsync("*****", "*****", null, false);
Client.LoginCompleted += (sender, args) =>
{
if (args.Result)
{
CookieContainer CookieContainer = Client.CookieContainer;
CookieCollection Cookies = CookieContainer.GetCookies(Client.Endpoint.Address.Uri);
Cookie Cookie = Cookies[".ASPXAUTH"];
}
};
}
}
}