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();
        }
    }
  • 相关阅读:
    个人对BFC的见解
    事件简单示例
    visual studio .net 2003
    C# Dictionary 的几种遍历方法
    C# 监听文件夹
    调用SAP dll 出现 试图加载格式不正确的程序
    SAP Connector 类概述
    Sapnco3.0 RFC Server Programs Receive Idocs
    微软工具下载地址
    Sapnco3.0 RFC Client Programs
  • 原文地址:https://www.cnblogs.com/gilbert/p/5725053.html
Copyright © 2011-2022 走看看