我正在尝试将应用程序从IIS 6服务器移到我们的IIS 7服务器。应用程序向客户端提供远程对象。我基本上复制了dll、配置文件等,以便将其部署到新服务器上,并将客户端的URL更新为指向新服务器。
每当我们尝试获取代理类时,我都可以拉出远程虚拟目录的跟踪文件,并查看对远程服务的调用。但是调用代理类上的任何方法都会导致返回给客户端的404错误。在查看旧的IIS 6 web日志时,我可以看到正在处理的请求如下所示:
2011-05-25 16:03:50 W3SVC1 160.0.0.1 POST /Host/b3b4bde0_7589_4bff_b44b_e1793f392d8f/sziv3p5a8+zkofa0v_bsvgdv_251.rem - 80 - 128.104.151.220 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+6.1.7601.65536;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.5444+) 200 0 0查看IIS 7日志,我没有看到任何类似的条目,只有启动远程处理服务的请求:
2011-05-25 15:57:15 160.0.0.1 POST /Host/RemotingService.rem - 80 - 128.104.150.27 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+6.1.7601.65536;+MS+.NET+Remoting;+MS+.NET+CLR+2.0.50727.5444+) 200 0 0 0在服务器端,我启用了“允许双重转义”,并按照其他文章中的建议,将最大允许内容长度(字节)提高到了56700000。请求处理程序映射已经设置好了(这就是为什么我可以正确地看到RemotingService.rem返回的日志),但是我似乎无法让任何远程对象执行任何操作。我曾尝试将托管远程处理对象的虚拟目录放入Classic ASP Pool或Integrated中,但仍然无果而终。
为了让远程处理在IIS 7上工作,我还遗漏了什么吗?
发布于 2011-05-26 03:19:53
我想通了。默认的IIS网站是通过绑定到域名only...no空白条目来设置的。所有远程处理请求在发送之前都会解析为IP。因为IIS没有通配符,所以在它的条目中,它只接受域名级别的请求,而不接受IP级别的请求。这就解释了为什么trace.axd文件会被提取并记录下来,但实际的方法调用失败的原因并不像日志条目那么多。将空白条目添加到IIS的绑定中会立即将其修复。
https://stackoverflow.com/questions/6127504
复制相似问题