我做了个简单的WebService应用,用的是MSSoap,把现成的COM组件生成WSDL文件然后配IIS(我用的是ISAPI)。测试的时候没什么问题,等发布的时候才发现Server端慢得不行,仔细检查发现客户端每次调用服务器硬盘狂转,可是代码里没有文件IO的操作,用FileMon监视发现每次dllhost都在写临时文件,实在搞不懂为什么,资料又找不着,麻烦大家帮我看看,以下是FileMon监测的部分结果。1 17:36:39.578 dllhost.exe:3932 FSCTL_PIPE_TRANSCEIVE \\.\Pipe\lsass SUCCESS WriteLen: 64 ReadLen: 1024
2 17:36:39.578 dllhost.exe:3932 FSCTL_PIPE_TRANSCEIVE \\.\Pipe\lsass SUCCESS WriteLen: 116 ReadLen: 1024
3 17:36:39.578 dllhost.exe:3932 FSCTL_PIPE_TRANSCEIVE \\.\Pipe\lsass SUCCESS WriteLen: 44 ReadLen: 1024 ...2121 17:36:40.468 dllhost.exe:3716 FASTIO_READ C:\WINDOWS\TEMP\Sms46B.tmp END OF FILE Offset: 1442665 Length: 4096
2122 17:36:40.468 dllhost.exe:3716 IRP_MJ_FLUSH_BUFFERS C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS
2123 17:36:40.468 dllhost.exe:3716 IRP_MJ_WRITE* C:\$LogFile SUCCESS Offset: 8192 Length: 4096
2124 17:36:40.484 dllhost.exe:3716 IRP_MJ_CLEANUP C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS
2125 17:36:40.484 dllhost.exe:3716 IRP_MJ_CLOSE  C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS
2126 17:36:40.484 dllhost.exe:3716 IRP_MJ_CREATE  C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS Options: Open  Access: 00010080
2127 17:36:40.484 dllhost.exe:3716 IRP_MJ_QUERY_INFORMATION C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS FileAttributeTagInformation
2128 17:36:40.484 dllhost.exe:3716 IRP_MJ_SET_INFORMATION  C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS Delete
2129 17:36:40.484 dllhost.exe:3716 IRP_MJ_CLEANUP C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS
2130 17:36:40.484 dllhost.exe:3716 IRP_MJ_CLOSE  C: SUCCESS
2131 17:36:40.484 dllhost.exe:3716 IRP_MJ_CLOSE  C:\WINDOWS\TEMP\Sms46B.tmp SUCCESS
2132 17:37:05.187 dllhost.exe:3932 FASTIO_QUERY_OPEN C:\WINDOWS\system32\Msctf.dll SUCCESS Attributes: A
2133 17:37:05.187 dllhost.exe:3932 FASTIO_QUERY_OPEN C:\WINDOWS\system32\Msctf.dll SUCCESS Attributes: A

解决方案 »

  1.   

    不明白dllhost的问题
    在这里学习一下
    等高人来解决
    呵呵
    友情up~~~~~~~~~~~~
      

  2.   

    建议
    1。打满补丁
    2。检查程序中是否有死循环,是否有数据库没及时关闭。
    3。优化代码,尽量少用大的变体数组。
    4。检查iis配制。是否为应用程序创建了独立进程。
      

  3.   

    程序里既没有文件IO,也没有连数据库。每次访问程序因为写临时文件都有很长时间的延迟,直接访问COM组件没有这个问题。
      

  4.   

    1.先检查是否中毒
    2.硬盘没有问题
    3.仔细检查程序
    dllhost不会无故读写盘的
      

  5.   

    程序中用到了PropertyBag对象,但绝对没有访问文件,我不知道跟PropertyBag有没有关系,求有建设性的意见。
      

  6.   

    http://0e2.net/post/511.html
    只能在网上帮你找了。