专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WCF

统制台中寄宿WCF服务

发布时间:2011-06-23 13:51:01 文章来源:www.iduyao.cn 采编人员:星星草
控制台中寄宿WCF服务

一、首先创建一个类库,用来定义WCF服务

修改服务代码定义,具体代码如下

	 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IHelloService”。
    [ServiceContract]
    public interface IHelloService
    {
        [OperationContract]
        string GetMessage(string message);
    }

	 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“HelloService”。
    public class HelloService : IHelloService
    {
        public string GetMessage(string message)
        {
            return message + "@" + DateTime.Now;
        }
    }

二、创建一个控制台项目,用来承载WCF服务

1、首先添加对服务类库的引用,并添加引用System.Service.Model

2、修改配置文件,在<system.serviceModel> </system.serviceModel>节点中设置服务相关节点信息、绑定信息以及基地址,具体代码如下

	  <system.serviceModel>
    <services>
      <service name="SimpleService.HelloService">
        <!--设置服务节点,服务的地址直接采用基地址,使用basicHttpBinding-->
        <endpoint address="" binding="basicHttpBinding" contract="SimpleService.IHelloService">
        </endpoint>
        <!--设置元数据交换节点-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange">
        </endpoint>
        <host>
          <baseAddresses>
            <!--服务的基地址用来访问获取元数据-->
            <add baseAddress="http://localhost:8057/HelloService"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="HttpGetEnable">
          <!--公开元数据,正是部署时候应该去掉防止元数据泄露-->
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="NoneSecurity">
          <!--取消安全验证-->
          <security mode="None">
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
  </system.serviceModel>

3、启动服务

在main方法中加入如下代码启动服务

 using (ServiceHost host = new ServiceHost(typeof(HelloService)))
 {
         host.Open();

        Console.WriteLine("WCF 已经启动@" + DateTime.Now);

        Console.ReadKey();
}

服务启动后效果如下图

如果出现如下异常信息,只要以管理员身份重新启动VS并启动服务即可

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: