update problem with wcf remote dataportal using http binding

update problem with wcf remote dataportal using http binding

Old forum URL: forums.lhotka.net/forums/t/10763.aspx


fsl posted on Wednesday, October 12, 2011

Hi there

I have a root object (32kb when serialized) that I have problem with when saving. The save works fine when using a local dataportal but not when using a remote dataportal. I don't get any errors. I can fetch the object just fine. Any ideas on how to debug this?

Edit: this seems to be a more general problem with the root class in general, update is slow or hangs, fetch is fast.

ozitraveller replied on Wednesday, October 12, 2011

The object is probably too big.

Google:  csla httpruntime maxrequestlength

http://forums.lhotka.net/forums/t/8994.aspx

 

 

 

RockfordLhotka replied on Thursday, October 13, 2011

Lots of good info in the FAQ:

http://www.lhotka.net/cslanet/faq/DataPortalFaq.ashx

StefanCop replied on Saturday, October 15, 2011

Hi

I find most problems by enabling my logging statements. For example, an entry is logged for DataPortal calls and DataPortal_ZZZ. 
Maybe you load parts lazy and therefore, fetching is below the limit. 

Or include the following in your config files (client and server side) and use the Service Trace Viewer to analyze the (big) log files ("C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\SvcTraceViewer.exe"). Have a look for the actions of Csla.

<system.serviceModel> 

  ............

  <diagnostics wmiProviderEnabled="false" >
      <messageLogging
          logEntireMessage="true" logMalformedMessages="true"
          logMessagesAtServiceLevel="false" logMessagesAtTransportLevel="true"
          maxMessagesToLog="2000" maxSizeOfMessageToLog="100000" />
    </diagnostics>
  </system.serviceModel>

 <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="
Information, ActivityTracing" propagateActivity="true">
        <listeners>
          <add name="WcfTraceListener" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="WcfMessages"/>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="WcfTraceListener"
                 type="System.Diagnostics.XmlWriterTraceListener"
                 initializeData="WcfTraces.svclog" />
      <add name="WcfMessages"
                 type="System.Diagnostics.XmlWriterTraceListener"
                 initializeData="WcfMessages.svclog" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

 

Although coding some log statements means some work, it helps a lot to narrow the problem down.
Analyzing the WCF logs is initially confusing because it's a boatload of information.

Copyright (c) Marimer LLC