我有一個使用舊的WCF服務環境的站點和一個使用較新環境的新站點。有可能有2個網站使用相同的命名WCF服務,但在不同的DLL上?
當我說環境,我的意思是WCF服務的DLL公開相同的合同和方法,但它們以不同的方式實現。
看來我不能使用相同的服務器(IIS)進行這種設置,因爲嘗試使用較新的站點會產生錯誤,我注意到流量正在重定向到舊的WCF環境。 (我檢查了我的網站配置和綁定,它都是100%好)。
我的問題是,是否可以實現使用相同命名聯繫人的2個站點的這種設置? 在我看來,它不會,即使它們通過服務地址加以區分。
服務器(舊):
<service name="Services.API.AnonymousUserService" behaviorConfiguration="ProductionBehavior">
<host>
<baseAddresses>
<add baseAddress="net.tcp://old.mysite.com:808/AnonymousUserService.svc" />
</baseAddresses>
</host>
<endpoint name="tcp"
address=""
binding="netTcpBinding" bindingConfiguration="ProductionBinding"
contract="Services.API.IAnonymousUserService" />
<endpoint name="mex"
address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
客戶端(舊)
<client>
<endpoint name="tcp"
address="net.tcp://old.mysite.com/AnonymousUserService.svc"
binding="netTcpBinding" bindingConfiguration="ProductionBinding"
contract="ServiceAnonymousUser.IAnonymousUserService">
<identity>
<servicePrincipalName value="host/production01.local" />
</identity>
</endpoint>
</client>
服務器(新):
同服務器(舊),只地址是「net.tcp://new.mysite.com:808/AnonymousUserService.svc」
客戶端(新):
同客戶端(舊),只有地址是 「的net.tcp://new.mysite.com/AnonymousUserService.svc」
如果它在同一臺機器上。您必須更改端口號。他們都使用相同的端口。 – Tan
譚,我嘗試了你的建議,但我的新網站仍在使用舊服務,無視端口的差異。我的新服務已關閉(站點和應用程序池),並且我的新站點具有引用新站點的客戶端配置。我對這件事完全無能爲力。 – Droritos
你可以在你使用服務代理的地方提出一些代碼嗎?也許你指的是在建立文件中的舊服務。 – Tan