WCF url重写net.tcp绑定

时间:2016-01-29 10:36:23

标签: c# wcf iis url-rewriting net.tcp

我正在尝试为使用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>

应该重写的输入网址如下:

  

的net.tcp //本地主机/服务/ SampleService.svc

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

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

1 个答案:

答案 0 :(得分:0)

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

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