WCF Proxy Submit Crash - Kills Process
I have a simple WCF service which accept some data (wsHttpBiding) and returns a result. On the client side a dll containing a proxy wrapper is loaded and used to build/submit a request to the service.
This works perfectly in the majority of cases, but for a few users, the submit call to the client proxy results in an immediate crash of the application (no errors, warnings, etc - the process just dies instantly)
The issue appears to be related to the users windows account: Different users logged into the same machine do not experience the issue.
Looking for thoughts on where I might start looking for a culprit. Any ideas out there?
Edit:
- I'm trying to get a version with some trace statements and error logging in it out to the affected machines at the moment. There is no try/catch around the .submit call, but shouldn't exceptions propogate back up through the call stack (the client/proxy dll is being loaded directly into the primary app domain but any other exceptions such as timeouts are simply handed back to the host application as expected)
- Web.Config on server side as below
- The users are in the same domain as other users, default credentials are being used. In house app, server is on the same network.
Service Web.Config:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="Services.EventsBehavior">
<serviceMetadata httpGetEnabled="t开发者_JAVA百科rue" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentSessions="100" />
</behavior>
<behavior name="Services.LayoutsBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="Services.EventsBehavior" name="Services.Events">
<endpoint address="" binding="wsHttpBinding" contract="Services.IEvents">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<timeouts openTimeout="00:00:45" />
</host>
</service>
<service behaviorConfiguration="Services.LayoutsBehavior" name="Services.Layouts">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="largeRequestMsg" contract="Services.ILayouts">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="largeRequestMsg" maxReceivedMessageSize="5000000"></binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
Update: (2011/03/18) So I've been able to do a little testing (finally) and unfortunatly can't reproduce the issue using a test harness on the client machine.
This leads me to believe that there is something funky going on in the calling my client dll (via COM) which is causing the issue.
Any thoughts?
to get more info, try turning on the WCF trace, and using the trace viwer utility to read teh error messages, in case the source is the WCF operation. here's the link on how to do this, it`s not complicated. please note that the trace file can be large. dont keep the trace on for more than the time you need to collcet the data. (a dev machine is ideal here, if possible)
One more thing, the immediate crash with no warning, is probably because the error happends on a thread other than the GUI`s main thread. (so the WCF call is indeed the place to start looking).
精彩评论