我正在登录通用 Windows 应用程序上的 WCF 身份验证服务,当我尝试访问 CookieContainer 时,它是空的。
Windows 8.1 应用程序上的相同代码可以正常工作。
我将基本绑定的 AllowCookies 设置为 true。这些服务位于 PCL 中,它允许我使用 CookieContainer 属性,当我直接在通用 Windows 应用程序上使用“添加服务引用”时,该属性不可用。
(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"];
}
};
}
}
}