簡體   English   中英

如何通過Web服務訪問.NET GUI應用程序?

[英]How do I access a .NET GUI application through a Web Service?

我一直在尋找問題的答案,但到目前為止,沒有找到可靠的鏈接。 我想做的是:構建了Windows .NET GUI應用程序。 我希望能夠通過Web服務訪問表單控件的功能。 如何執行此操作有任何好的鏈接嗎?

謝謝你的幫助。

您可以在WinForms應用程序中輕松托管Windows Communication Foundation Web服務。 請參閱有關如何在托管應用程序中托管WCF服務的MSDN文章。

請注意,如果你希望你的服務操作與UI控件(我假設是具有在應用服務的宗旨互動 - 否則,最好創建一個普通的,非可視化服務,並在IIS或Windows主機它服務),則您將需要使用Control.Invoke或Control.BeginInvoke,因為服務操作在后台線程上運行。

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

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

您還可以在main方法中執行以下簡單操作:

    /// <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 ;

暫無
暫無

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

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