Fork me on GitHub

WCF-Configuration

Host-Configuration

<?xml version="1.0"?>
<configuration>

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <root>
      <level value="ALL"/>
      <appender-ref ref="LogFileAppender"/>
    </root>
    <logger name="logInService">
      <level value="DEBUG"/>
      <appender-ref ref="LogFileAppender"/>
    </logger>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="false" />
      <param name="File" type="" value="LogInService\\log" />

      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="&#xD;&#xA;=======================Header=======================&#xD;&#xA;" />
        <param name="Footer" value="xD;&#xA;=======================Footer=======================&#xD;&#xA;" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n"/>
      </layout>
    </appender>
  </log4net>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

  <system.serviceModel>
    <services>
      <service name="Bll.UserBll" behaviorConfiguration="serviceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:2001"/>
          </baseAddresses>
        </host>
        <endpoint name="userBllEndPoint" address="UserBll" binding="basicHttpBinding" contract="Bll.IUserBll"/>
        <endpoint name="mex" binding="mexHttpBinding" contract="IMetadataExchange" address="mex"/>
      </service>

      <service name="Bll.ExamBll" behaviorConfiguration="serviceBehavior">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:2002"/>
          </baseAddresses>
        </host>
        <endpoint name="examBllEndPoint" address="ExamBll" binding="basicHttpBinding" contract="Bll.IExamBll"/>
        <endpoint name="mex" binding="mexHttpBinding" contract="IMetadataExchange" address="mex"/>
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug httpHelpPageEnabled="true" includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
View Code

Client-Configuration

<?xml version="1.0"?>
<configuration>

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

  <log4net>
    <root>
      <level value="ALL"/>
      <appender-ref ref="LogFileAppender"/>
    </root>
    <logger name="logger">
      <level value="DEBUG"/>
      <appender-ref ref="LogFileAppender"/>
    </logger>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="false" />
      <param name="File" type="" value="log\\log" />

      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="&#xD;&#xA;=======================Header=======================&#xD;&#xA;" />
        <param name="Footer" value="xD;&#xA;=======================Footer=======================&#xD;&#xA;" />
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n"/>
      </layout>
    </appender>
  </log4net>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

  <!--WCF-->
 

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="userBllEndPoint" closeTimeout="00:01:00" openTimeout="00:01:00"
          receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
          bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
        <binding name="examBllEndPoint" closeTimeout="00:01:00" openTimeout="00:01:00"
          receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
          bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
          useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:2001/UserBll" binding="basicHttpBinding"
        bindingConfiguration="userBllEndPoint" contract="UserBllService.IUserBll"
        name="userBllEndPoint" />
      <endpoint address="http://localhost:2002/ExamBll" binding="basicHttpBinding"
        bindingConfiguration="examBllEndPoint" contract="ExamBllService.IExamBll"
        name="examBllEndPoint" />
    </client>
  </system.serviceModel>

</configuration>
View Code

Host-Code

        static void Main(string[] args)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(EqualsConst.GetServiceLoggerName);

            List<ServiceHost> hosts = new List<ServiceHost>() {
                new ServiceHost(typeof(UserBll)),
                new ServiceHost(typeof(ExamBll))
            };

            try
            {
                foreach (ServiceHost host in hosts)
                {
                    host.Open();
                }
                Console.WriteLine(EqualsConst.OpenService);
                Console.ReadLine();
                foreach (ServiceHost host in hosts)
                {
                    host.Close();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
            }
        }
View Code

 Interface

    [ServiceContract(Namespace="XXX")]
    public interface IUserBll
    {

        [OperationContract]
        User RetrieveUserByUserName(string userName);
View Code

 

posted @ 2014-07-03 22:30  种花生的读书人  阅读(335)  评论(0编辑  收藏  举报

该博客仅作为记录笔记,转载随意