zoukankan      html  css  js  c++  java
  • WCF中,通过C#代码或App.config配置文件创建ServiceHost类

    C#

    static void Main(string[] args)
    {
        //创建宿主的基地址
        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();
        }
    }
  • 相关阅读:
    一个没调好的程序
    bzoj1214 [HNOI2004]FTP服务器
    bzoj4514 [Sdoi2016]数字配对(网络流)
    二分图最大权匹配模板(pascal)
    CSS控制文字,超出部分显示省略号
    新型智慧城市顶层设计经验分享
    移动端浏览器前端优化
    桌面浏览器前端优化
    关于ie8下disabled属性:字体颜色问题
    win10永久激活
  • 原文地址:https://www.cnblogs.com/gilbert/p/5725053.html
Copyright © 2011-2022 走看看