迁移到 IIS 7 时的远程处理问题

发布于 2024-11-09 16:25:13 字数 997 浏览 0 评论 0原文

我正在尝试将应用程序从 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 的日志正确返回),但我似乎无法让任何远程对象执行任何操作。我尝试将托管远程对象的虚拟目录放入经典 ASP 池或集成中,但仍然没有成功。

为了让远程处理在 IIS 7 上工作,我还缺少什么吗?

I am trying to move an application from out IIS 6 server to our IIS 7 server. The application provides remote objects to clients. I basically copied over dll's, config files, etc. in order to deploy it to the new server and updated the URLs on the client side to point to the new server.

I can pull up the trace file for the remote virtual directory and see the calls to the remoting service whenever we try to get a proxy class. But calling any method on the proxy class results in a 404 error returned to the client. While looking through the old IIS 6 web logs, I can see the requests being handled that look something like this:

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

Looking through the IIS 7 logs, I don't see any entries like that, just the requests that fire up the remoting service :

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

At the server level, I've enabled 'Allow double escaping' and upped the Maximum allowed content length (Bytes) to 56700000 as was suggested in other articles. The Request handler mapping is set up (which is why I can see the logs for the RemotingService.rem return correctly) but I can't seem to get any of the remote objects to do anything. I've tried putting the virtual directory that hosts the remoting object into either the Classic ASP Pool or the Integrated but still no luck.

Is there anything else I'm missing in order to get remoting to work on IIS 7 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音盲 2024-11-16 16:25:13

想通了。默认 IIS 网站设置为仅绑定到域名...没有空白条目。所有远程处理请求在发送之前都会解析为 IP。因为IIS没有通配符,所以可以说,在它的条目中,它只接受域名级别的请求,而不接受IP级别的请求。这可以解释为什么会拾取并记录trace.axd 文件,但实际的方法调用失败,而没有日志条目。向 IIS 的绑定添加一个空白条目即可修复此问题。

Figured it out. The default IIS website was set up with a binding to a domain name only...no blank entries. All remoting requests get resolved to IPs before being sent. Because IIS did not have a wildcard, so to speak, in its entries, it only accepted requests at the domain name level, not the IP level. This would explain why the trace.axd files would get picked up and logged but the actual method calls failed with not so much as a log entry. Adding a blank entry to IIS's bindings fixed it right up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文