The configuration section 'system.serviceModel' cannot be read because it is missing a section declaration
21,097
Starting with .Net Framework 4 service behaviors do not require a name (MSDN). Before .Net 4 it was mandatory. Because your service behavior does not have a name:
<serviceBehaviors>
<behavior>
<!-- name attribute missing in behavior -->
</behavior>
</serviceBehaviors>
and IIS is throwing an error I suspect your app pool is not running .Net 4 or newer.
Author by
JelleP
Updated on October 15, 2020Comments
-
JelleP over 3 years
We already created an webservice in Visual Studio 2013 with .Net 4.5. This webservice runs well local in the same computer.
Right now we want to export this webservice to an Windows Server 2008 with IIS. We already made an webservice running in port 8080.
But when we copy the exported files to the root directory of this webserver the folowwing error occured:
Error Summary HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x80070032 Config Error The configuration section 'system.serviceModel' cannot be read because it is missing a section declaration Config File \\?\C:\inetpub\wwwroot\YOR24Websevices\web.config Requested URL http://localhost:8080/ Physical Path Logon Method Not yet determined Logon User Not yet determined Config Source 10: </system.web> 11: <system.serviceModel> 12: <bindings>
The webconfig we exported in Visual studio is:
<?xml version="1.0"?> <configuration> <appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> </appSettings> <system.web> <compilation targetFramework="4.5" /> <httpRuntime targetFramework="4.5"/> </system.web> <system.serviceModel> <bindings> <customBinding> <binding name="RightNowSyncBinding"> <security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport" requireDerivedKeys="true" securityHeaderLayout="Lax" includeTimestamp="false"> <localClientSettings detectReplays="false" /> <localServiceSettings detectReplays="false" /> </security> <textMessageEncoding messageVersion="Soap12" /> <httpsTransport /> </binding> </customBinding> </bindings> <client> <endpoint address="https://tkbc-fleetsupport--tst.custhelp.com/cgi-bin/tkbc-fleetsupport--tst.cfg/services/soap" binding="customBinding" bindingConfiguration="RightNowSyncBinding" contract="RightNowServiceReference.RightNowSyncPort" name="RightNowSyncPort" /> </client> <behaviors> <serviceBehaviors> <behavior> <!-- To avoid disclosing metadata information, set the values below to false before deployment --> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="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="false"/> </behavior> </serviceBehaviors> </behaviors> <services> <service name="Yor24Service.Service"> <endpoint address="" contract="Yor24Service.IService" binding="basicHttpBinding"/> <endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding"/> </service> </services> <protocolMapping> <add binding="basicHttpBinding" scheme="http" /> </protocolMapping> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> <!-- To browse web app root directory during debugging, set the value below to true. Set to false before deployment to avoid disclosing web app folder information. --> <directoryBrowse enabled="true"/> </system.webServer> </configuration>
What is the problem with this generated config file?