我有兩個不同的winform應用程序,App1和App2。 App1調用app2的exe(使用DOS命令窗口)併發送消息以啓動app2。 app2開始執行,一旦它完成任務,它將消息發回給app1,執行成功。我怎樣才能使用WCF實現這一功能。早些時候相同的代碼是用foxpro編寫的,而且這個finc是通過內存管理實現的。使用WCF的兩個winform應用程序之間的通信?
回答
這只是概念性的如何實現這一點:
您需要實現WCF服務。 如何完成這項任務有很多方法。其中一個應該是這樣的。
App1調用service方法並告訴app2需要執行。 App1可以等待響應。
App2不時ping服務,看看是否需要執行。 App2完成了其工作並調用了服務方法,告訴它已完成。
App1在完成時會得到響應。
其他選項不是實現請求/響應,而是從App1 ping服務以查看App2是否完成了其工作。
對於如何實現WCF服務看,例如:http://wcftutorial.net/WCF-Getting-Started.aspx
非常感謝。應用程序1應該是服務器,因爲有很多像app2這樣的應用程序,並且所有應該按順序執行,一旦app2被執行,然後從應用程序1調用app3執行,並且soo。所有的應用程序都在同一個系統上。請提出實現此目標的最佳方法。 –
我想你想要的是對等網絡通信,其中2個應用程序(這可能會或可能不會在同一臺機器上運行)發送互不相同的消息。聊天程序如MSN Messenger的工作方式。
有一個關於peer-to-peer communication using WCF at MSDN的「簡單」教程。
請注意,這並不像聽起來那麼容易。您可能更喜歡just send messages using Windows' SendMessage
。
非常感謝。應用程序1應該是服務器,因爲有很多像app2這樣的應用程序,並且所有應該按順序執行,一旦app2被執行,然後從應用程序1調用app3執行,並且soo。所有的應用程序都在同一個系統上。請提出實現此目標的最佳方法。 –
有很多方法可以做到這一點,最好的方法取決於如此多的變量,以至於無法回答您的問題。尋求貴公司的建築師或高級開發人員的幫助。 –
基本上:
在一側上實例化 「服務器」
UIIServiceHost = new ServiceHost(typeof(UIInterop));
UIIServiceHost.Open();
其中UIInterop是一個類implementaing IUIInterop即服務合同
using System.ServiceModel;
[ServiceContract]
public interface IUIInterop {
[OperationContract]
void SetControlValue (UIControl c);
}
[DataContract]
public class UIControl {
[DataMember]
public String Name { get; set; }
[DataMember]
public String Value { get; set; }
}
Generate代理類=> UIInteropClient
另一側實現一個客戶端使用代理類
using (UIInteropClient proxy = new UIInteropClient("nameDependingOfAppConfig")) {
proxy.SetControlValue(new UIControl {});
}
=====編輯=====
的類和接口名稱只表示我缺乏想象力的
- 1. 使用WCF服務的兩個.Net應用程序之間的相互通信
- 2. ASP MVC和WinForm應用程序之間的通信
- 3. 來自應用程序的兩個窗口之間的通信
- 4. Web應用程序的兩個客戶端之間的通信
- 5. 兩個ASP.NET MVC應用程序之間的通信
- 6. 兩個Flex應用程序之間的通信
- 7. 兩個導軌應用程序之間的通信
- 8. 兩個應用程序之間的android通信
- 9. 兩個MS Access應用程序之間的通信?
- 10. 兩個java程序之間的通信
- 11. 使用相同的Android應用程序的兩個設備之間的通信
- 12. 不同域之間的兩個Web應用程序之間的Javascript通信
- 13. wcf應用程序之間的全雙工通信
- 14. Linux,應用程序之間的通信
- 15. vb.net應用程序之間的通信
- 16. Intranet應用程序之間的通信
- 17. 應用程序之間的通信?
- 18. Rails應用程序之間的通信
- 19. 使用Websockets的兩個JAVA Web應用程序之間的通信
- 20. 兩個不同設備上的兩個應用程序之間的Android通信
- 21. 多個nodejs應用程序之間的進程間通信
- 22. 如何在兩個應用程序之間進行通信?
- 23. 在兩個應用程序之間進行通信web
- 24. C++應用程序和web應用程序之間的通信
- 25. Windows應用程序和Android應用程序之間的通信
- 26. iPhone應用程序和Rails應用程序之間的通信
- 27. Web應用程序和Android應用程序之間的通信
- 28. Java應用程序和C++應用程序之間的通信
- 29. iOS應用程序和.NET應用程序之間的通信?
- 30. 如何通過網絡在兩個WinForm應用程序之間調用函數?
WOW你不只是說' FoxPro'這是一種古老的語言..你是說,WinForm應用程序是一個FoxPro的Windows應用程序..?你打算如何使用WCF來做什麼,你會把它變成一個服務應用程序。 – MethodMan
是的,該應用程序是在Foxpro中構建的,但現在我們正在將代碼從Foxpro遷移到C#.net 4.0。 –
好吧,我只是確保..我以爲我有一個噩夢形式我舊的快船/ FoxPro編碼的日子..大聲笑 – MethodMan