【问题标题】:WCF Service Application QuestionWCF服务申请问题
【发布时间】:2011-02-13 08:43:48
【问题描述】:

我正在尝试创建将托管在 Windows 服务中的 WCF 应用程序

我在 Visual Web Developer 中有两个选项

1) 新网站 -> WCF 服务

2) 新建项目 -> WCF 服务应用程序

哪个适合创建可以托管在 Windows 服务中的服务?是否有任何教程解释使用上述任何方法在 Windows 服务中托管?

谢谢

李乔

【问题讨论】:

    标签: wcf


    【解决方案1】:

    李乔, This page in the MSDN help 向您展示了如何从控制台应用程序开始创建 WCF 服务。以此为起点,我能够完成所有工作。

    【讨论】:

      【解决方案2】:

      至于创建您的服务 - 如果您已经计划使用 NT 服务作为您的主机,只需使用类库,然后向其中添加 WCF 服务。给出的两个选项都不会为您提供适合在 NT 服务中使用的东西。

      关于托管,请参阅:

      【讨论】:

        【解决方案3】:

        在大多数情况下,您实际上想要做的是创建两个项目;首先是 WCF 服务库(位于 WCF 模板下),然后是 Windows 服务(位于 Windows 模板下),然后从您的 Windows 服务引用 WCF 服务库。

        WCF 服务库包含所有特定于 WCF 的类 - 合同、服务等 - 然后您只需在 Windows 服务中创建一个ServiceHost。最后一部分只需要很少的代码:

        public class MyService : ServiceBase // Windows Service class
        {
            private ServiceHost host;
        
            protected override void OnStart(string[] args)
            {
                host = new ServiceHost(typeof(MyWcfLibrary.MyWcfService));
                host.Open();
            }
        
            protected override void OnStop()
            {
                host.Close();
            }
        }
        

        还有更详细的教程here

        【讨论】:

        • 谢谢。但问题是我在 Visual Web Developer 的“Visual Studio 安装模板”中没有 WCF 模板部分。是不是要单独安装?有没有办法通过一些配置将一个简单的类库转换为 WCF 服务库?
        • @Lijo:我错过了 Visual Web Developer 部分,你确定你没有在“Visual C#”树下看到它吗?如果没有,那么你不需要模板,你只需要添加几个程序集引用(主要是System.ServiceModelSystem.Runtime.Serialization)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-19
        相关资源
        最近更新 更多