用于 net.tcp 绑定的 WCF URL 重写

本文关键字:WCF URL 重写 绑定 net tcp 用于 | 更新日期: 2023-09-27 18:32:21

我正在尝试为使用 net.tcp 绑定的 WFC 服务重写 URL(使用 IIS)。我有WFC服务,它托管在第一台机器上,一切正常 - 我可以毫无问题地使用它。现在我有第二个 IIS 主机,我在其中创建了仅包含 web.config 的应用程序(它应该将其地址重写为第一台机器的 WCF),它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="service/(.*)" />
                    <action type="Rewrite" url="net.tcp://192.168.1.60/service/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

应重写的输入 URL 如下所示:

net.tcp//localhost/service/SampleService.svc

当我检查重写日志时,一切看起来都很好,但是当我使用此应用程序的地址进行连接(应该将网址重写为 WFC)时,我只收到没有 WCF 端点的错误。我尝试了许多URL重写规则的组合,但都是徒劳的。两个ISS应用程序都支持协议:http,net.tcp,net.pipe,ARR也启用代理。

我没有找到任何关于重定向net.tcp WCF的线程,但是我从URL重写WCF服务中得到了一些提示,但这都是关于http绑定的。我不确定使用 IIS 重写我的服务 url 是否可行,因此如果有任何其他方法,我期待着任何建议。

用于 net.tcp 绑定的 WCF URL 重写

我认为这

是不可能的...您必须重写同一站点和同一应用程序池中的 URL。

http://blogs.msdn.com/b/asiatech/archive/2011/08/25/return-404-4-not-found-when-url-rewrite.aspx