相关疑难解决方法(0)

通过WebClient.DownloadData自动解压缩gzip响应

我希望自动解压缩GZiped的响应.我使用以下代码段:

mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
mywebclient.Encoding = Encoding.UTF8;

try
{
    var resp = mywebclient.DownloadData(someUrl);
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了HttpRequestHeader enum,没有选择通过这个来做到这一点Headers

如何自动解压缩resp?或者我应该使用另一种功能而不是mywebclient.DownloadData

.net gzip webclient

42
推荐指数
2
解决办法
3万
查看次数

第一次调用.net webservice很慢

我在我的.net winforms应用程序中调用.net webservice,两者都在框架4.0中.在程序执行期间,webservice第一次调用方法时,调用大约需要10-12秒.后续通话需要约1-2秒.即使重新创建Web引用实例,后续调用仍然是〜1-2秒.重新启动winforms应用程序时,会再次发生第一个呼叫延迟,但后续呼叫会响应.

Web调用的实例是在调用发生之前创建的,并不是延迟的一部分.

正在生成winforms应用程序的XmlSerializers(并据我所知使用,但我不知道如何验证这一点).

由于Web服务端的首次编译,因此没有发生延迟.这是一整天都在使用的生产Web服务,其apppool保留在内存中.据我所见,延迟发生在客户端,或客户端和服务器之间的第一次呼叫,但不是后续呼叫.

不知道接下来要检查什么.有任何想法吗?

c# vb.net web-services asmx .net-4.0

8
推荐指数
1
解决办法
1万
查看次数

在C#中解析JSON的最有效方法

我想知道在C#中解析JSON的最有效方法是什么?而且效率我指的是响应时间较短的那个.我试图使用几种方法解析大量数据,这两种方法的响应时间都很长.谁能告诉我以下方法之间的区别?是否有一种替代方案可以让我以较低的响应时间进行解析?

选项1:

HttpWebRequest request = WebRequest.Create(jsonURL) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
    if (response.StatusCode != HttpStatusCode.OK)
        throw new Exception(String.Format(
        "Server error (HTTP {0}: {1}).",
        response.StatusCode,
        response.StatusDescription));
    DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(obj));
    object objResponse = jsonSerializer.ReadObject(response.GetResponseStream());
}  
Run Code Online (Sandbox Code Playgroud)

选项2:

var json = new WebClient().DownloadString(jsonURL);
using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
    DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(obj));
    object objResponse = jsonSerializer.ReadObject(ms);
}  
Run Code Online (Sandbox Code Playgroud)

c# asp.net json

8
推荐指数
1
解决办法
9442
查看次数

标签 统计

c# ×2

.net ×1

.net-4.0 ×1

asmx ×1

asp.net ×1

gzip ×1

json ×1

vb.net ×1

web-services ×1

webclient ×1