silverlight - 在 Silverlight 中使用 HttpRequest 对象时可以设置 http header 吗?

标签 silverlight http silverlight-3.0 http-headers httprequest

从 Silverlight 3.0 发出 HttpRequest 时,我在设置任何 HTTP header 值时遇到问题?

Silverlight 3.0 是否支持 HTTP header ?

以下代码在调用请求回调时抛出异常:

        var url = new Uri("http://lonmw32795/RBSM_Portal_RESTfulWebService/HostInterrogationService.svc/host/environment");
        req = (HttpWebRequest)WebRequest.Create(url);
        req.Headers[HttpRequestHeader.Pragma] = "no-cache";
        req.Method = "GET";

        req.BeginGetResponse(new AsyncCallback(WebComplete), req);    

异常类型是 System.NotSupportedException - WTF!

有人有什么想法吗?

干杯

AWC

最佳答案

请注意 WebHeaderCollection 的文档,大多数有用的 header 都受到限制,它没有列出 pragma,但它也表示受限制的 header 不限于提供的列表。

这些限制已经到位,因为底层浏览器通常会处理 http 请求,因此它会使用自己的算法控制此类 header 。

可以像这样使用 ClientHttp 来做到这一点:-

    var url = new Uri("http://lonmw32795/RBSM_Portal_RESTfulWebService/HostInterrogationService.svc/host/environment");
    req = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(url);

请注意,您需要手动管理任何需要的 cookie,如果将 cookie 设置为对使用 BrowserHttp 的请求的响应的一部分,这可能会有点棘手。

关于silverlight - 在 Silverlight 中使用 HttpRequest 对象时可以设置 http header 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2272665/

相关文章:

Silverlight 架构指南 - 延迟加载

performance - 在 init 或处理函数中读取模板?

http - 如何绕过分配将锁定值复制到 tr : net/http. Transport contains sync.Mutex

silverlight - 当应用程序处于全屏模式时,无法在 Silverlight 3 中使用键盘输入文本框控件

c# - Silverlight 显示空白页而不是抛出异常

wpf - 增加StrokeThickness,但保持Path的尺寸

.net - 彩色动画不起作用

java - Swagger codegen 生成重复的变量

silverlight - 在 Silverlight 3 中使用 WriteableBitmap 调整图像大小

Silverlight VisualStateManager 状态列表