zoukankan      html  css  js  c++  java
  • silverlight webclient方式请求网页不包含cookie信息问题解决方法

    Silverlight读取配置、上传图片等都是使用webclient来处理。发现了webclient请求的时候,有不包含cookie信息的情况,导致页面跳转失败。
     
    silverlight 的webclient请求有两种方式,一种是通过浏览器,一种是程序内部处理。这两种方式默认是SL自动选择的。
    如果是通过浏览器方式,会包含cookie信息;如果通过应用程序,则不会包含cookie信息。
     
    详细如下:
    // 摘要:
    // 提供对象以便指定是由浏览器还是由客户端来处理 HTTP 请求和响应。
    public static class WebRequestCreator
    {
    // 摘要:
    // 获取一个对象,该对象为 Web 请求和响应指定浏览器 HTTP 处理。
    //
    // 返回结果:
    // 一个 System.Net.IWebRequestCreate 对象,该对象为 Web 请求和响应指定浏览器处理。
    public static IWebRequestCreate BrowserHttp { get; }
    //
    // 摘要:
    // 获取一个对象,该对象为 Web 请求和响应指定客户端 HTTP 处理。
    //
    // 返回结果:
    // 一个 System.Net.IWebRequestCreate 对象,它与在 Web 浏览器之外运行的基于 Silverlight 的应用程序一起使用。
    public static IWebRequestCreate ClientHttp { get; }
    }
     
    为解决这个问题,我们可以设置webclient请求数据的处理方式。设置都通过浏览器方式处理即可。
    方法如下:
    在请求前,设置请求方式(我们可以在app.xaml.cs中指定即可):
    System.Net.WebRequest.RegisterPrefix("http://", WebRequestCreator.BrowserHttp);
    System.Net.WebRequest.RegisterPrefix("https://", WebRequestCreator.BrowserHttp);
  • 相关阅读:
    KMP算法
    找出第二大的数
    webpack 3 优化
    CocoaPods安装
    自适应水平垂直居中
    找出两个数组中都有,并且重复次数最多的元素
    swift 笔记
    Promise 用es5的基础实现
    $.ajax仿axios封装
    js基础拖拽效果
  • 原文地址:https://www.cnblogs.com/bocoimg/p/2873341.html
Copyright © 2011-2022 走看看