从开发解决方案调用Web服务很慢

时间:2011-08-10 16:28:59

标签: c# asp.net web-services visual-studio-2008 wse

好的,我使用WSE2获得了一个asp.net Web服务。它在xp机器上运行。 我在win7机器上获得了前端asp.net应用程序。

在Framework 3.5中。

在生产环境中,一切都很好。

问题是,当我运行前端的“developpement”版本时,Web服务调用需要永远。永远,我的意思是永恒。在这里,我们在几分钟内计算永恒。

通过“developpement”版本,我的意思是我运行绑定到visual studion(2008)解决方案的实例。我使用本地IIS Web服务器。

我的第一个想法是我的两台机器之间的网络/防火墙问题。但是,如果,从视觉工作室,我将网站“发布”到另一个虚拟文件夹,那么就可以正常工作。

所以我有http://localhost/MyDevApphttp://localhost/MyPublishedApp

两者都使用默认的应用程序池。两者都有相同的web.config。据我所知,两个虚拟目录都有完全相同的参数。

http://localhost/MyDevApp在调用网络服务时非常糟糕,http://localhost/MyPublishedApp以光速运行。

现在就是3天了。

做一些调试我可以这么说:

    MyWebServiceRequest request = new MyWebServiceRequest ();
    request.Url = "http://mywebserviceurl";
    request.RequestSoapContext.Tokes.Add (MyUsernameToken);
   //All these previous lines executes correctly, rapidly.

    //THIS is the slow one.
    request.CallWebServiceMethod ();

有没有人知道问题是什么?

修改

我还尝试将虚拟目录从我的网站属性更改为不同的(例如http://localhost/MydDevApp2),结果相同。

编辑2

也许它可能是原因,绑定到解决方案的网站位于c:\Projets\MySolution\MyDevApp,而“已发布”的网站位于c:\inetpub\wwwroot\MyPublishedApp之下。 c:\Projets文件夹从防病毒扫描中排除,因此通常应该更快而不是更慢

编辑3

我在c:\ inetpub \ wwwroot \ Other中创建了另一个工作区(解决方案在团队服务器源代码控制下),更改了web项目的url,编译并运行:没问题。所以看起来文件所在的物理路径似乎正是由此导致的,而与解决方案绑定的事实并非如此。

编辑4(8月19日)

好吧,似乎没什么可做的。自我上次更新以来已经过了大约10天,现在新工作区下的网站也开始减速。所以我在磁盘上移动了工作区,现在在c:\ inetpub \ wwwroot \ Other2中,你知道吗?那又好了。也许我将在大约10天内再次移动它。

编辑5

我将我的问题标记为迁移到serverfault,最后它与编程没有任何关系,正如我首先想到的那样。

2 个答案:

答案 0 :(得分:0)

很难说没有在配置中看到您的计算机,但通常意味着您的dns服务器或主机文件存在某种问题导致进程缓慢解析服务。

此外,如果您使用的是代理服务器,请确保绕过任何调用该服务的网址。

答案 1 :(得分:0)

最后,看来wse2跟踪在哪里:

  <microsoft.web.services2>
    <diagnostics>
      <trace enabled="true" input="InputTrace.log" output="OutputTrace.log" />
    </diagnostics>
    <policy>
      <cache name="policyCache.config" />
    </policy>
  </microsoft.web.services2>

当日志文件越来越多时,它会慢下来......只是禁用跟踪可以解决问题。