I am creating a test version of an existing production site. A virtual web service application exists inside the site - and the two web configs have the same connection stri
I think the problem is related that they are one site inside the other. Like a Website with a Virtual Directory inside.
In this case... the Virtual Directory web.config is "inheriting" the parent web.config
Here you can see details of how to solve this: How to stop inheritance of <configSections>in Web.Config
Other options: https://stackoverflow.com/a/367372/7720
If the problem is in other parts of your web.config (not in the sections) you can just wrap the conflicting part with <location path="." inheritInChildApplications="false">
.
Other option could be let the webservice grab the connection from the website.
Web.config inheritance happens even between different appPools.
If you want to stop this behavior, you should add the attribute enableConfigurationOverride="false"
to your appPool in the applicationHost.config file (located in %WINDIR%\System32\inetsrv\Config and %WINDIR%\SysWOW64\inetsrv\config) as in the following example:
<add name="MyAppPool" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" enableConfigurationOverride="false">
<processModel identityType="NetworkService" />
</add>
Matteo