簡體   English   中英

如何配置WCF端點以在rdp客戶端會話中使用,以便它們可以使用中央服務?

[英]How to configure WCF endpoints for use in rdp client session so they can use a central service?

我正在研究一些WCF示例。 當前,存在帶有銷售記錄的訂單輸入應用程序。 為了使用戶獲得最新的交易,他們必須手動刷新寄存器以從數據庫中提取。

我將通過WCF和Publisher-Subscriber Framework實現一個事件模型,以便任何用戶訂購條目,並在該屏幕打開時通知應用程序的所有其他實例刷新其事務寄存器。

因此,到目前為止的示例都使用如下配置:

<configuration>
   <system.serviceModel>
      <services>
         <service name="TrafficLightSubscriptionService">
            <endpoint address="net.tcp://localhost:8001/TrafficLightSubscriptionService" binding="netTcpBinding" contract="ITrafficLightSubscription"/>   
         </service>
         <service name="TrafficLightEventService">
            <endpoint address="net.tcp://localhost:8002/TrafficLightEventService" binding="netTcpBinding" contract="ITrafficLightEvents"/>
         </service>
      </services>
   </system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

這對於在具有IIS的單台計算機上進行學習等工作正常,但是我將需要在小型Windows Server 2003域(1個服務器,4-5個客戶端)上實現,其中“某些”客戶端通過rdp會話遠程連接,而其他則通過LAN 。

我希望將服務作為Windows服務而不是在IIS中托管。 因此,請向我指出如何為此方案配置綁定的方向。

  1. 就像將http://loca.lhost換成 IP地址一樣簡單
  2. 如果是,則動態分配IP怎么辦?
  3. 關於訪問是否有任何安全方面的考慮? 如何允許任何經過身份驗證的用戶連接到服務?

穿越RDP邊界並非易事。 如果在創建遠程連接時仔細觀察,您可以選擇要共享哪些本地資源-音頻,打印機,文件系統...它們不共享IP,也不能從目標rdp主機內部獲取客戶端IP 。 但是,我不確定您是否真的需要-通過RDP會話連接的客戶端-他們的應用程序客戶端在本地計算機上,還是剛連接后在rdp桌面內打開客戶端? 如果客戶端位於他們的“家用” PC上,那么您就會有問題,否則,只要客戶端位於同一網絡上,它們的連接方式就不會有任何區別。

至於問題的另一部分-我強烈建議不要自我托管WCF,因為IIS具有可靠性,如果您自己托管它,可能很難模仿。
其次-如果您在每個客戶端上都需要IIS,則您的軟件體系結構可能有問題。 我猜想只有服務器需要IIS,並且服務器默認情況下具有靜態IP(如果不需要,則用域名計算機名稱來引用它們,而DNS會進行路由)。 客戶端在訂閱時應提供其當前IP。

希望這可以幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM