• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET WebService中使用ASP.NET_SessionId的问题说明
    今天在帮助同事解决对WebService进行 Web References 调用问题:当调用webservice第一个方法Method1发现服务端Set-Cookie: ASP.NET_SessionId=*****保存了ASP.NET的会话状态。接着当我再调用webservice的第二个方法Method2时发现无法正确返回服务器端处理结果

    也就是说webservices进行http post 的时无法正常响应服务端。感觉问题就出在cookie上(Method1调用时服务端进行了Set-Cookie),但是就是始终解决不了问题。接着测试webservices浏览器端访问,一切都是正常的。只怪自己对WebService了解甚少,导致明明知道问题所在,就是无法解决问题。。

    技术问题往往都是这样,当你越想解决它,它就越难快速的被你搞定。于是乎下班回家后冲凉、吃饱后继续尝试解决问题。我突然想到了long long ago 俺写过一篇文章,就是http抓包的文章,文章地址在这里:http://www.cnblogs.com/ryanding/archive/2011/01/17/1936392.html。主要是通过HttpWebRequest、HttpWebResponse 这两大神器来解决问题。后来想想这样做肯定可以搞定这个问题。但是还是稍微过于繁琐了。记得HttpWebRequest 有一个CookieContainer对象,可以解决cookie问题。于是乎就拼命的在WebServcie的Web References实例化对象上找相关属性。最终完美的被我解决了,代码如下:
    复制代码 代码如下:

    ConsoleApplication1.WebReference.YourWebServiceName proxy= new ConsoleApplication1.WebReference.YourWebServiceName();
    System.Net.CookieContainer Cookies = new System.Net.CookieContainer();
    proxy.CookieContainer = Cookies;

    代码执行完以上信息在执行Method1,因为这玩意才开始 Set-Cookie...
    接着在执行Method2一切都OK了。
    这说明了 proxy.CookieContainer存储了客户端的 ASP.NET_SessionId。这样以后每次通过webservice 方法调用时,都会将ASP.NET_SessionId传递到服务器端。
    注:该WEBSERVICES 是客户提供的,我们不能随便修改它的代码。
    我想应该也有不少人碰见了类似的问题。本文权当方便后来人吧。
    您可能感兴趣的文章:
    • Jquery + Ajax调用webService实例代码(asp.net)
    • asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
    • PHP中调用ASP.NET的WebService的代码
    • jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
    • 使用ASP.NET一般处理程序或WebService返回JSON的实现代码
    • asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)
    • asp.net类库中添加WebService引用出现问题解决方法
    • asp.net webservice返回json的方法
    • ASP.NET实现基于Forms认证的WebService应用实例
    • ASP.NET如何定时调用WebService服务
    • ASP.NET调用WebService服务的方法详解
    • ASP.NET中Webservice安全 实现访问权限控制
    • ASP.NET中基于soaphead的webservice安全机制
    上一篇:ASP.NET控件10个最有用的属性详解
    下一篇:ASP.NET性能优化之构建自定义文件缓存
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP.NET WebService中使用ASP.NET_SessionId的问题说明 ASP.NET,WebService,中,使用,