Call Savance Workplace Call Us: (248) 478-2555

Support Suite

User Login



 

Main

Knowledgebase: Technical
Section or group name 'system.web.extensions' is already defined error
Posted by Savance on 03 November 2010 04:39 PM

If EIOBoard is installed as a virtual directory under a parent site which also runs ASP.NET, there are potential conflicts between sites, depending on how the web.config file is configured for the parent site.  Usually these conflicts prevent the EIOBoard Application or Outlook Interface from connecting to your EIOBoard server.  The parent site must be configured to use ASP.NET v2, and EIOBoard will not work properly if the parent website is configured to use ASP.NET v1.  You may also need to add a new App Pool in Internet Information Services (IIS) specifically for use with the EIOBoard site. 

One error in particular you may see when trying to connect to the EIOBoard Application or Outlook Interface (or browsing to the WebService directory), is an error similar to the following:
Section or group name 'system.web.extensions' is already defined. Updates to this may only occur at the configuration level where it is defined.

While the solution may be slightly different depending on your environment, this knowledgebase article details an example of how the web.config files will need to be modified. 

The first step is to open the folder containing the “web.config” file for the parent site.  Make a backup of this file before making changes, then open it with Notepad.  Look for the section starting with the “<system.web>” tag.  Immediately before “<system.web>”, enter the following line:
<location path="." inheritInChildApplications="false">

Still in the “web.config” file for the parent website, go to the end of the system.web section (“</system.web>”) and after this line, end the location section by entering “</location>” (without the quotes).  Now save this file and make sure the parent site still works. 

Next we need to comment out the “<configSections>” block of the “web.config” file for the main EIOBoard site.  Again, before making changes, backup the “web.config” file, then open it with Notepad.  To start commenting out the code block, you will enter “<!--“, and to end commenting out the block, you will enter “-->” (both without the quotes).  Below is an example of how the code will look after the “<configSections>” block of the “web.config” file for the main EIOBoard site has been commented out:
<configuration>
<!--
  <configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
          <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>
-->
  <appSettings>

At this point, save your changes to the EIOBoard “web.config” file, then test logging in with the EIOBoard Browser Interface, as well as the EIOBoard Application or Outlook Interface.