我在使用 Silverlight 5 请求 Gzipped 内容时遇到问题。为了减少使用的带宽,我想对从我们的 Web 服务请求的内容使用 gzip,但不幸的是,这不起作用。
我正在使用客户端堆栈并发送一个 HttpWebRequest。我尝试设置 Accept-Encoding 标头,但它告诉我不允许我直接更改它 - 并且没有其他属性!
那么如何发送自定义的 Accept-Encoding 标头?
这是我在 App-Constructor 中的代码:
WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);
这就是我创建请求并设置标头的方式:
var webRequest = (HttpWebRequest)WebRequest.Create(requestUri);
webRequest.Headers["Accept-Encoding"] = "gzip, deflate";
这是一个例外:
{System.ArgumentException: The 'Accept-Encoding' header cannot be modified directly.
Parameter name: name
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at MyClass}