zoukankan      html  css  js  c++  java
  • Hosting WCF Service

    There are some ways to hosting WCF service as below:

    1. IIS; 2. Console App; 3. Window Service

    Using Console Application to host WCF service:

    Step 1:

     

    Step 2: Add a Class Library project : 'Contract'

    Step 3: Add a Interface : 'IHelloWorld'

    using System.ServiceModel;
    
    namespace Contract
    {
        [ServiceContract(Name = "HelloWorldService")]
        public interface IHelloWorld
        {
            [OperationContract]
            string SayHello();
        }
    }

    Step 4: Add a Class : 'HelloWorld'

    namespace Contract
    {
        public class HelloWorld : IHelloWorld
        {
            public string SayHello()
            {
                return "Hello World. I'm WCF Service.";
            }
        }
    }

    Step 5: Add a Console Application : 'Host'

    Step 6:
    Use WCF Service Configuration Editor to generate the server config.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.serviceModel>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="HelloWorldBehavior">
                        <serviceMetadata httpGetEnabled="true" />
                    </behavior>
                </serviceBehaviors>
            </behaviors>
            <services>
                <service behaviorConfiguration="HelloWorldBehavior" name="Contract.HelloWorld">
                    <endpoint address="http://localhost:9999/HelloWorldService" binding="basicHttpBinding"
                        bindingConfiguration="" contract="Contract.IHelloWorld" />
                    <host>
                        <baseAddresses>
                            <add baseAddress="http://localhost:9999/HelloWorldService" />
                        </baseAddresses>
                    </host>
                </service>
            </services>
        </system.serviceModel>
    </configuration>

    Step 7:
    Set up server host

    using System;
    using System.ServiceModel;
    using Contract;
    
    namespace Host
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (var host = new ServiceHost(typeof(HelloWorld)))
                {
                    host.Opened += delegate
                                       {
                                           Console.WriteLine("CalculaorService已经启动,按任意键终止服务!");
                                       };
                    host.Open();  
                    Console.Read();
                }
            }
        }
    }
  • 相关阅读:
    隔离级别
    分析Hello2代码
    正则表达式
    Filter and servlet
    部署描述符
    Annotation
    LDAP and Implementation
    Restful levels and Hateoas
    servlet injection analysis
    隔离级别
  • 原文地址:https://www.cnblogs.com/vincentDr/p/2913645.html
Copyright © 2011-2022 走看看