码迷,mamicode.com
首页 > 移动开发 > 详细

WCF中,通过C#代码或App.config配置文件创建ServiceHost类

时间:2016-08-01 12:25:27      阅读:1305      评论:0      收藏:0      [点我收藏+]

标签:

C#

//创建宿主的基地址
Uri baseAddress = new Uri("http://localhost:8080/User");

//创建宿主
using (ServiceHost host = new ServiceHost(typeof(User), baseAddress))
{
    host.AddServiceEndpoint(typeof(IUser), new WSHttpBinding(), "");

    //将HttpGetEnabled属性设置为true
    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;

    //将行为添加到Behaviors中
    host.Description.Behaviors.Add(smb);

    //打开宿主
    host.Open();
    Console.WriteLine("WCF中的HTTP监听已启动....");
    Console.ReadLine();
    host.Close();
}

 

App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <services>
      <service name="WCFLibrary.User">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/User"/>
          </baseAddresses>
        </host>
        <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser"></endpoint>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="True"/>
          <serviceDebug includeExceptionDetailInFaults="False"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>
public partial class MainForm : Form
{
    ServiceHost host;

    public MainForm()
    {
        InitializeComponent();
    }

    private void MainForm_Load(object sender, EventArgs e)
    {
        host = new ServiceHost(typeof(User));
        //打开宿主
        host.Open();
        this.label1.Text = "WCF中的HTTP监听已启动....";
    }

    private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
    {
        host.Close();
    }
}

 

WCF中,通过C#代码或App.config配置文件创建ServiceHost类

标签:

原文地址:http://www.cnblogs.com/gilbert/p/5725053.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!