1

Problem:

The underlying connection was closed: The connection was closed unexpectedly. This happens on my WCF service that is hosted on the visual studio 2010 built in development server.

Information:

this does not happen all the time I believe it is a "big Data" issue, I have googled as hard as I can but non of the solutions I have implemented have fixed anything (and I have tried most of them out there) I most likely am just missing something stupid.

Question:

Why is this happening and how can I fix it?

Client app.Config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Program.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
              <binding name="BasicHttpBinding_IService1" maxReceivedMessageSize="20000000"
                 maxBufferSize="20000000"
                 maxBufferPoolSize="20000000">
                <readerQuotas maxDepth="32"
                 maxArrayLength="200000000"
                 maxStringContentLength="200000000"/>
              </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://localhost:62753/Service1.svc" binding="basicHttpBinding"
                bindingConfiguration="BasicHttpBinding_IService1" contract="ProgramService.IService1"
                name="BasicHttpBinding_IService1" />
        </client>
      <behaviors>
        <endpointBehaviors>
          <behavior name="EndpointBehavior">
            <dataContractSerializer maxItemsInObjectGraph="2147483647" />
          </behavior>
        </endpointBehaviors>
      </behaviors>
    </system.serviceModel>
    <applicationSettings>
        <Program.Properties.Settings>
            <setting name="Program_PROGRAM_Screen" serializeAs="String">
                <value>http://localhost/IntegrationTest/SOAP/PROGRAM.asmx</value>
            </setting>
        </Program.Properties.Settings>
    </applicationSettings>
</configuration>

Service web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
    <httpRuntime executionTimeout="1200" />
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true" />
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>
  <connectionStrings>
    <add name="ProgramEntities" connectionString="metadata=res://*/Program.csdl|res://*/Program.ssdl|res://*/Program.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=ACUMATICA1-HPI7;initial catalog=Program;persist security info=True;user id=sa;password=$0l0m0n;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>

WCF Activity Log Erro Message:

There was an error while trying to serialize parameter http://tempuri.org/:ScenarioSummaryResult. The InnerException message was 'Type 'System.Data.Entity.DynamicProxies.ScenarioSummary_A170028D0330F7804BAB85D00BA1EB45FA1754C8A6F6E98C0F003F15078E23A9' with data contract name 'ScenarioSummary_A170028D0330F7804BAB85D00BA1EB45FA1754C8A6F6E98C0F003F15078E23A9:http://schemas.datacontract.org/2004/07/System.Data.Entity.DynamicProxies' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.'. Please see InnerException for more details.

Service Information:

I am trying to return a list of Entity Framework stuff

//IService1.cs
[OperationContract]
List<ProgramService.ScenarioSummary> ScenarioSummary(string Module);

//Service1.svc
public List<ProgramService.ScenarioSummary> ScenarioSummary(string module)
        {
            return (from p in Entity.ScenarioSummaries where p.ModuleId.Equals(Entity.Modules.FirstOrDefault(q => q.ModuleName.Equals(module)).Id) select p).ToList();
        }

additional Information:

Any help/explanation of my clear incompetence in this matter and how to correct it would be much appreciated.

Joshua Van Hoesen
  • 1,684
  • 15
  • 30
  • Have you tried to increase the timeouts in the binding conf? Like `...`. Just to make sure, that not such a timeout is the cause of the problem. – Desty Jan 23 '13 at 19:15
  • 3
    enable tracing http://stackoverflow.com/questions/4271517/how-to-turn-on-wcf-tracing and check out there. – Federico Berasategui Jan 23 '13 at 19:16
  • "I have googled as hard as I can" -jvanh1- post:The underlying connection was closed question line: 7 – Joshua Van Hoesen Jan 23 '13 at 19:54
  • @jvanh1 - That wasn't the message I was talking about. I was talking about the error message in the activity log: `There was an error while trying to serialize parameter http://tempuri.org/:ScenarioSummaryResult.`. Glad you found the issue though. – Tim Jan 23 '13 at 22:31
  • httpruntime maxRequestLength? – Sajay Jan 24 '13 at 11:11

1 Answers1

1

Some one commented that my error looked alot like What are the downsides to turning off ProxyCreationEnabled for CTP5 of EF code first

and that actually turned out to be my solution. They have since deleted their posting. Thank you mysterious stranger with greater googling skills than I.

Joshua Van Hoesen
  • 1,684
  • 15
  • 30