2010-01-14 55 views
0

我一直在尋找一段時間來回答我的問題,但到目前爲止沒有找到可靠的鏈接。我想要做的是:我已經構建了一個Windows .NET GUI應用程序。我希望能夠通過Web服務訪問表單控件的功能。如何做到這一點有什麼好的鏈接?如何通過Web服務訪問.NET GUI應用程序?

感謝您的幫助。

回答

0

您可以在WinForms應用程序中輕鬆託管Windows Communication Foundation Web服務。請參閱How to Host a WCF Service in a Managed Application上的MSDN文章。

請注意,如果您希望您的服務操作與UI控件進行交互(我認爲這是在應用程序中使用服務的目的 - 否則最好創建一個正常的非可視化服務並將其託管IIS或Windows服務),那麼您將需要使用Control.Invoke或Control.BeginInvoke,因爲服務操作在後臺線程上運行。

0

這是從Winforms應用程序託管服務的一個很好的例子。

http://www.codeproject.com/KB/WCF/WCFexample.aspx

你也可以做一些簡單的像這樣在你的主要方法:

/// <summary> 
    /// The main entry point for the application. 
    /// </summary> 
    [STAThread] 
    static void Main() 
    { 
     ServiceHost host = new ServiceHost(typeof(TestService)); 
     NetNamedPipeBinding namedPipe = new NetNamedPipeBinding(); 
     host.AddServiceEndpoint(typeof(ITest), namedPipe, "net.pipe://localhost/test"); 

     host.Open(); 

     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     Application.Run(new AutoDeployApp()); 
    } 

然後,使用服務中這種類型的事情來獲得在跑步方式:

 MyForm form = Application.OpenForms["MyForm"] as MyForm ; 
相關問題