2010-08-31 42 views
0

我在c#.Net 4中编写(或尝试)一个应用程序都在工作,但是第一次调用它们时,调用Internet的两个函数非常缓慢!从Windows应用程序,每个负载程序集缓慢的Internet访问?

XDocument xmlDoc = XDocument.Load(@"http://somedomain/somefile.xml"); 

这需要大约15-20秒第一次约1下一个!

我还在另一个地方使用WebRequest做了一个HTTP POST,当我打这个代码时我遇到同样的问题!

我认为这是加载和初始化程序集的时间!?

任何方式来预加载它们?或者更好的方法来访问网络?

+2

你认为它正在初始化和加载哪个组件?这可能是Internet代理服务器的问题,而不是程序集。 – 2010-08-31 19:52:37

回答

0

在服务器和客户端都有这样的解决方法。

如果您确定服务器生成XML所用的时间,请将HTTPHandler放入服务器中,并将输出缓存用于XML。

在客户端,调用线程并调用XDocument.Load在线程中加载文件,同时执行加载的其余部分。一旦数据正确加载使用CallBack,一个事件来确保可以访问该对象。

+0

嗨,谢谢,这个所有的客户端服务器上的XML文件都在一个静态文件中。 客户端上的所有数据都准备就绪,并且使用按钮来选择所需的操作,其中可能需要检索xml,并将另一个HTTP Post发送到服务器。 鉴于上述cinario将如何去你的建议,对不起,我很新的c#! – Adrian 2010-08-31 20:56:04

+0

我发现延迟是由于找到代理所花费的时间! 加入 去除延迟但我怎样才能做到这一点在代码? – Adrian 2010-09-01 08:51:54

相关问题