好的,我得到了一个使用 WSE2 的 asp.net Web 服务。它在 xp 机器上运行。我在我的 win7 机器上安装了前端 asp.net 应用程序。
两者都在框架 3.5 中。
在生产环境中一切都很好。
问题是,当我运行前端的“开发”版本时,Web 服务调用需要很长时间。永远,我的意思是永恒。在这里,我们以分钟计算永恒。
通过“开发”版本,我的意思是我运行绑定到视觉工作室(2008)解决方案的实例。我使用本地 IIS Web 服务器。
我的第一个想法是我的两台机器之间的网络/防火墙问题。但是,如果,从视觉工作室,我将网站“发布”到另一个虚拟文件夹,那么一切都很好。
所以我有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
也许它可能是原因,绑定到解决方案的站点驻留在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,最后它与编程无关,正如我最初认为的那样。