我正在开发一个 WP 应用程序,其 Web 服务是使用 SOAP 客户端在 .NET 中实现的。我已经使用“添加服务引用”选项在我的 WP 应用程序中实现了 SOAP 客户端。
现在的问题是,有两种不同的客户端类,一种用于登录功能,另一种用于所有其他查询。登录工作正常,只返回 true 或 false,仅此而已。另一个客户端类用于进行不同的查询,这些查询都工作正常并从服务器获取一些数据。经过测试,我观察到响应与登录用户无关(即服务器发送与登录用户无关的相同数据)。因此很明显,会话没有被维护,并且服务器正在发送一些匿名数据。
有人帮助我了解如何在 SOAP 客户端中维护会话。
注意:我不能就此向网络服务提供商询问。 :(
最后我想出了如何在 Windows Phone 应用程序中维护基于 cookie 的会话
感谢迈克的指导。
对于所有想知道在 WP 应用程序中维护会话的不同方法的人,
有一个类叫做CookieContainer
这有助于我们维护 cookie 数据。
Usage:
首先创建 CookieContainer 类的全局实例(我在 App.xaml.cs 中创建)
//In App.xaml.cs
CookieContainer cookieContainer = new CookieContainer();
然后将其分配给我们从应用程序向服务器发出的每个请求。
MySoapClient client = new MySoapClient();
client.CookieContainer = (App.Current as App).cookieContainer;
client.LoginAsync("username", "password");
再次针对应用程序中的任何其他请求
MyOtherSoapClient anotherClient = new MyOtherSoapClient();
anotherClient.CookieContainer = (App.Current as App).cookieContainer;
anotherClient.PostDataAsync("somedata");
同样的规则也适用于正常情况WebClient
and HttpWebRequest
班也。
快乐编码:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)