我的應用必須安裝在我的客戶端的Web服務器上。有些客戶想使用SSL,有些客戶則不使用。我的應用程序有一個WCF服務,我目前必須進入每個安裝的web.config,並根據客戶端的SSL情況將安全模式從<security mode="Transport">
切換到<security mode="TransportCredentialOnly">
。我可以在運行時設置客戶端綁定。但是,我想知道是否有辦法在運行時(在服務器端)設置服務綁定。WCF在運行時在服務上設置綁定
1
A
回答
1
是的,絕對!這取決於你如何託管你的WCF服務。說它必須安裝在網絡服務器上,我會假設你在IIS中託管。
在這種情況下,您需要創建自己的ServiceHostFactory
後代 - 這真的沒什麼大不了的。
需要您的CustomServiceHostFactory
才能將您的ServiceHost
實例返回到IIS,並根據您的需要正確配置。
在自定義工廠的CreateServiceHost
方法中,您基本上設置了您的ServiceHost
並配置了它的所有端點,行爲,綁定等等 - 所有代碼都在您的完全控制之下。您可以根據需要做任何事情,根據需要配置您的服務。
爲了承載您的服務。你需要適應MyService.svc
文件包括CustomServiceHostFactory
作爲工廠使用:
<% @ ServiceHost Language="C#" Service="YourService"
Factory="CustomServiceHostFactory" %>
,這就是它!
檢查MSDN上了Extending Hosting Using ServiceHostFactory更多細節,看看在CodeProject上A Custom ServiceHostFactory文章的樣本。
相關問題
- 1. WCF服務綁定設置
- 2. WCF服務綁定 - 超時配置
- 3. 在運行時設置服務URL
- 4. 在WCF REST服務上設置Raygun
- 5. 在wcf服務電話上設置CultureInfo?
- 6. 長時間運行WCF服務的設置超時
- 7. 在運行時創建WCF服務
- 8. 如何在Azure中創建WCF服務時配置webHttp綁定?
- 9. 將WCF服務配置爲在IIS上運行6
- 10. 在一個配置中配置多個WCF綁定或服務
- 11. 如何設置log4net,以便它可以在wcf服務上運行?
- 12. 在WCF服務上運行svcutil.exe時出現OperationBehaviorAttribute錯誤
- 13. Eclipse - 在「在服務器上運行」中選擇服務器與設置「目標運行時」
- 14. 在IIS 7中託管的WCF服務 - 綁定配置設置被忽略
- 15. 如何在Telerik radgrid使用wcf服務時設置wcf憑據?
- 16. IIS和服務之間的WCF TCP綁定設置
- 17. WCF如何在自定義綁定上設置clientCredentialType
- 18. WCF serviceBehaviors vs綁定設置
- 19. 在wcf服務中設置cookie
- 20. 無法在localhost中運行wcf服務
- 21. 在特定時間運行windows服務
- 22. WCF服務限制設置
- 23. 從wcf服務設置Maxrecievedmessagesize
- 24. 設置WCF服務調用
- 25. 在運行Apache2和PHP-FastCGI的服務器上設置PHPMyAdmin
- 26. KeySet在運行wcf服務時不存在
- 27. 運行時在DataGridView上設置DataFormatString?
- 28. 斜紋 - 在運行時更改代理服務器設置
- 29. 如何設置在線服務器的Java運行時環境
- 30. 在Eclipse中設置新的Red5服務器運行時