是否有可能在WCF 4中爲REST基礎服務使用新的WCF路由服務?我有一些類似於逆向代理的想法。基本上我有一些selfhosted rest基於serivces,我想通過IIS公開與相同的基礎URL和端口。路由應該由url的最後部分完成。我是WCF路由服務的絕對新手,所以如果這是一個愚蠢的問題,請原諒我,但我在網上找不到任何有關此信息的信息。.net 4 WCF路由服務+ REST
我已經試過這樣的事情(其中serivce1/2是selfhosted服務):
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="RoutingBehavior">
<routing routeOnHeadersOnly="false" filterTableName="RoutingTable"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="RoutingBehavior" name="System.ServiceModel.Routing.RoutingService">
<endpoint address="myservices" contract="System.ServiceModel.Routing.IRequestReplyRouter" binding="basicHttpBinding"/>
</service>
</services>
<routing>
<filterTables>
<filterTable name="RoutingTable">
<add filterName="service1Filter" priority="0" endpointName="service1"/>
<add filterName="service2Filter" priority="0" endpointName="service2"/>
</filterTable>
</filterTables>
<filters>
<filter name="service1Filter" filterType="MatchAll"/>
<filter name="service2Filter" filterType="MatchAll"/>
</filters>
</routing>
<client>
<endpoint address="http://somehost:8888/test/service1" binding="basicHttpBinding" contract="*" name="service1"/>
<endpoint address="http://somehost:8732/test/service2" binding="basicHttpBinding" contract="*" name="service2"/>
</client>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
,但似乎並沒有工作。我收到一個沒有發現異常的端點。 http://somehost:8888/test/service1是自託管服務的基地址,而不是實際的端點。我可以根據基地址進行路由嗎(如果可以休息路由),我是否必須爲每個端點添加路由?
我認爲這可能會錯過WCF路由服務。我將使用像ARR這樣的「真正」反向代理。 – Jeldrik 2010-07-26 15:41:51