繁体   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