日期:2014-05-17  浏览次数:21157 次

WCF性能问题大探讨 -- 大家多给我点建议
本帖最后由 timycg 于 2013-07-01 21:32:24 编辑
最进项目进行性能优化工作,主要是WCF方面的性能优化。

一丶说说我们项目的结构:

  1. 安卓前台,通过创建HTTP请求调用WCF服务

    参考文章:http://blog.csdn.net/cch5487614/article/details/6333077 (安卓怎么调用WCF方法)

  2. WCF后台,主要是提供数据,以及做一些重要的业务逻辑处理

 

二丶传输格式

  数据传输格式:后台处理安卓前台的请求,返回的对象要通过JSON转化之后才返回给前台

  注意:JSON转化后的字符串长度一般在10000

 

三丶WCF的配置文件

  1.配置文件:
  
<system.serviceModel>
    <services>
      <service name="Transight.POS.FrontendService.JsonService.Operations" behaviorConfiguration="FrontendService">
        <endpoint address="" binding="basicHttpBinding"  bindingConfiguration="httpBinding_Config" contract="Transight.POS.FrontendService.Contracts.IJsonOperation" >
        </endpoint>
        <host>
          <baseAddresses>
            <add baseAddress="http://192.168.23.8/FrontendWebService/"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="FrontendService">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true" />
          <serviceThrottling maxConcurrentCalls="8000" maxConcurrentInstances="8000" maxConcurrentSessions="8000"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="httpBinding_Config"  maxReceivedMessageSize="2147483647" useDefaultWebProxy="false" textEncoding="utf-8" maxBufferPoolSize="2147483647"   maxBufferSize="2147483647" messageEncoding="Text" sendTimeout="00:10:00">