zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    C++实现网络寻路
    java实现生日相同概率
    java实现生日相同概率
    Mysql 锁表 for update (引擎/事务)
    mysql(for update)悲观锁总结与实践
    Select For update语句浅析
    Mysql查询语句使用select.. for update导致的数据库死锁分析
    数据库中Select For update语句的解析
    【转载】支付宝运营架构中柔性事务指的是什么?
    互联网支付系统整体架构详解
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3823445.html
Copyright © 2011-2022 走看看