zoukankan      html  css  js  c++  java
  • 六、框架的应用服务器配置

    应用服务器的配置有几个部分,首先确认应用服务器是否担任了数据服务器角色,如果是,需要配置数据库访问信息: 

    <activerecord> 

        <config>
          <add key="proxyfactory.factory_class" value="NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle"/>
          <add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
          <add key="dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
          <add key="connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
          <add key="connection.connection_string" value="Data Source=.;Initial Catalog=DataBaseName;UID=sa;Password="/>
          <add key="adonet.batch_size" value="50"/>
          <add key="cache.provider_class" value="NHibernate.Caches.MemCache.MemCacheProvider,NHibernate.Caches.MemCache"/>
          <add key="cache.use_second_level_cache" value="true"/>
          <add key="cache.use_query_cache" value="true"/>
          <add key="cache.default_expiration" value="300"/>
          <add key="default_expiration" value="300"/>
          <add key="expiration" value="300"/>
        </config>
      </activerecord> 

    如果启用了二级缓存,使用memcached服务器配置如下: 

      <memcache>

    <memcached host="127.0.0.1" port="11211" weight="2" />

    <memcached host="192.168.1.2" port="11211" weight="2" />

      </memcache 

    数据访问服务器的通信配置:

    <system.serviceModel>

        <services>

          <service name="Csla.Server.Hosts.WcfPortal" behaviorConfiguration="returnFaults">

            <!-- -->

            <endpoint address="http://127.0.0.1:8000/"   contract="Csla.Server.Hosts.IWcfPortal" binding="customBinding" bindingConfiguration="compactBinding"/>

     

            <endpoint address="net.tcp://127.0.0.1:5898" contract="Csla.Server.Hosts.IWcfPortal" binding="netTcpBinding" bindingConfiguration="WcfPortalBinding"/>

          </service>

        </services>

        <bindings>

          <customBinding>

            <binding name="compactBinding" sendTimeout="00:10:00">

              <compactMessageEncoding>

                <binaryMessageEncoding>

                  <readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>

                </binaryMessageEncoding>

              </compactMessageEncoding>

              <httpTransport maxReceivedMessageSize="2147483647"/>

            </binding>

          </customBinding>

          <netTcpBinding>

            <!-- -->

            <binding name="WcfPortalBinding" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" receiveTimeout="00:01:00" sendTimeout="00:01:00">

              <readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>

            </binding>

          </netTcpBinding>

        </bindings>

        <extensions>

          <bindingElementExtensions>

            <add name="compactMessageEncoding" type="Amib.WCF.CompactMessageEncodingElement, CompactMessageEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>

          </bindingElementExtensions>

        </extensions>

        <behaviors>

          <serviceBehaviors>

            <behavior name="returnFaults">

              <serviceDebug includeExceptionDetailInFaults="true"/>

              <serviceMetadata httpGetEnabled="false"/>

            </behavior>

          </serviceBehaviors>

        </behaviors>

     </system.serviceModel>

           期中,HTTP启用了压缩支持。

     

    如果服务器没有担任数据服务器的角色,只作为应用服务器使用,通信配置如下:

    <appSettings>

        <add key="CslaAuthentication" value="Csla" />

        <add key="CslaDataPortalProxy" value="Csla.DataPortalClient.WcfProxy, Csla"/>

     </appSettings>

     

    <system.serviceModel>

        <client>

          <endpoint name="WcfDataPortal" address="http://localhost:8000/" binding="customBinding" bindingConfiguration="compactBinding" contract="Csla.Server.Hosts.IWcfPortal" />

        </client>

        <behaviors>

          <endpointBehaviors>

            <behavior name="ServiceCertificate">

              <clientCredentials>

                <serviceCertificate>

                  <authentication certificateValidationMode="PeerTrust" />

                </serviceCertificate>

              </clientCredentials>

            </behavior>

          </endpointBehaviors>

        </behaviors>

        <bindings>

          <customBinding>

            <binding name="compactBinding" sendTimeout="00:10:00">

              <compactMessageEncoding>

                <binaryMessageEncoding>

                  <readerQuotas maxDepth="64" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                </binaryMessageEncoding>

              </compactMessageEncoding>

              <httpTransport maxReceivedMessageSize="2147483647" />

            </binding>

          </customBinding>

        </bindings>

        <extensions>

          <bindingElementExtensions>

            <add name="compactMessageEncoding" type="Amib.WCF.CompactMessageEncodingElement, CompactMessageEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

          </bindingElementExtensions>

        </extensions>

     </system.serviceModel>

     

    应用服务器如果启用日志记录,配置如下:

    <common>

        <logging>

          <!--

          <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">

            <arg key="configType" value="INLINE" />

            <arg key="level" value="INFO" />

            <arg key="showLogName" value="true" />

            <arg key="showDataTime" value="true" />

            <arg key="dateTimeFormat" value="yyyy-MM-dd HH:mm:ss:fff" />

          </factoryAdapter>

          -->

          <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">

            <arg key="level" value="DEBUG" />

            <arg key="showLogName" value="true" />

            <arg key="showDataTime" value="true" />

            <arg key="dateTimeFormat" value="yyyy-MM-dd HH:mm:ss:fff" />

          </factoryAdapter>

        </logging>

     </common>

     <log4net>

        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">

          <param name="File" value="App_Data/log/" />

          <param name="AppendToFile" value="true" />

          <param name="MaxSizeRollBackups" value="10" />

          <param name="MaximumFileSize" value="5MB" />

          <param name="RollingStyle" value="Date" />

          <!--Size ==- Date-->

          <param name="StaticLogFileName" value="false" />

          <param name="DatePattern" value="yyyy-MM-dd.'log'" />

          <layout type="log4net.Layout.PatternLayout">

            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />

          </layout>

        </appender>

        <root>

          <level value="INFO" />

          <!--

           -->

          <appender-ref ref="RollingLogFileAppender" />

        </root>

        <logger name="NHibernate">

          <level value="WARN"/>

          <!--

          <appender-ref ref="RollingLogFileAppender" /> -->

        </logger>

        <logger name="NHibernate.SQL" >

          <level value="WARN"/>

          <!--

          <appender-ref ref="RollingLogFileAppender" /> -->

        </logger>

        <logger name="Memcached.ClientLibrary.MemcachedClient">

          <level value="WARN"/>

          <!--

          <appender-ref ref="RollingLogFileAppender" /> -->

        </logger>

     </log4net>

     

    配置后的应用服务器: 

     

  • 相关阅读:
    灭霸-个人冲刺第四天
    单词统计
    第十周总结
    灭霸-个人冲刺第三天
    07-代码大全阅读笔记之一
    灭霸-个人冲刺第二天
    灭霸-个人冲刺第一天
    06-梦断代码阅读笔记之三
    团队项目-用户场景分析
    第九周总结
  • 原文地址:https://www.cnblogs.com/yyj/p/2206896.html
Copyright © 2011-2022 走看看