2013-03-02 56 views
0

我处于一种情况,我有大量的服务将在大型Silverlight应用程序中频繁地调用。经过一些非常轻的测试后,我们发现事情正在放缓,以致令人不安。我怀疑它来自于服务,因为它有很多来自大量电话的数据。如何从我的服务配置中提高性能?

我想减少通话的数量,但很少从头完全重新设计,目前这只能部分实现。

我所有的服务都设置在他们的服务行为,以便使用PerCall,这里是我的配置

   <services> 
     <service name="MyServices.Service"> 
      <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LargeBuffer" contract="MyServices.Interface.Service" /> 
     </service> 
    </services> 
    <bindings> 
     <basicHttpBinding> 
      <binding 
     name="LargeBuffer" 
     closeTimeout="00:10:00" 
     openTimeout="00:10:00" 
     receiveTimeout="00:10:00" 
     sendTimeout="00:10:00" 
     maxBufferSize="2147483647" 
     maxReceivedMessageSize="2147483647" 
     > 
     <security mode="None"> 
     <transport clientCredentialType="None" /> 
     </security> 
       <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      </binding> 
     </basicHttpBinding> 
    </bindings> 

润通这些服务并不需要大的缓冲结合,这可能会影响我的表现?

编辑

的要求本身是有效的运行,但只要我们得到几百请求东西来抓取

回答

1

对于性能是非常重要的,我发现FastInfoset编码是有用的。 noemax有一个非常好的商业实现(虽然它有免费试用,但不是免费的)。

http://www.noemax.com/products/wcfx/index.html

它也可以让你很有效地做好压缩。

免责声明 - 我只用它与Windows,而不是Silverlight。它声称支持Silverlight。