好的,我得到了一个使用 WSE2 的 asp.net 网络服务。它在 xp 机器上运行。 并且我在我的 win7 机器上得到了前端 asp.net 应用程序。
都在 Framework 3.5 中。
在生产环境中,一切都很好。
问题是,当我运行前端的“developpement”版本时,Web 服务调用会一直持续。永远,我的意思是永恒。在这里,我们以分钟计算永恒。
“developpement”版本是指我运行绑定(bind)到 visual studion (2008) 解决方案的实例。我使用本地 IIS Web 服务器。
我的第一个想法是两台机器之间的网络/防火墙问题。但是,如果在 visual studio 中,我将站点“发布”到另一个虚拟文件夹,那么一切正常。
所以我有http://localhost/MyDevApp和 http://localhost/MyPublishedApp .
两者都使用默认应用程序池。两者都有相同的 web.config。据我所知,这两个虚拟目录具有完全相同的参数。
但是http://localhost/MyDevApp在调用 Web 服务时非常糟糕,并且 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
也许是因为,绑定(bind)到解决方案的站点位于 c:\Projets\MySolution\MyDevApp
而“已发布”站点位于 c:\inetpub\wwwroot\MyPublishedApp
。 c:\Projets
文件夹被排除在防病毒扫描之外,因此通常它应该更快而不是更慢。
编辑3
我在c:\inetpub\wwwroot\Other下创建了另一个工作区(解决方案在team server源代码管理下),更改了web项目的url,编译运行:没问题。所以看起来确实是文件所在的物理路径导致了这种情况,而绑定(bind)到解决方案的事实却不是。
编辑 4(8 月 19 日)
嗯,看来没什么可做的了。距离我上次更新已经过去了大约 10 天,现在新工作区下的站点也开始变慢了。所以我将工作区移动到磁盘上,现在在 c:\inetpub\wwwroot\Other2 中,你知道吗?这又运行良好。也许我将不得不在大约 10 天后再次移动它。
编辑5
我标记了我的问题以转移到 serverfault,最终它与编程无关,正如我最初认为的那样。
最佳答案
如果没有在配置中看到您的机器很难说,但通常这意味着您的 dns 服务器或主机文件存在某种问题,导致解析服务的过程缓慢。
此外,如果您使用的是代理服务器,请确保您绕过任何调用该服务的网址。
关于c# - Web service call slow from dev 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7014372/