Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Upgrading DNN P...Upgrading DNN P...Upgraded 600 web.config different to New 600 web.configUpgraded 600 web.config different to New 600 web.config
Previous
 
Next
New Post
8/7/2011 12:21 AM
 
Been doing a lot of sorting and cleaning of and upgraded 600 site and noticed a number of differences in the web.config of an UPGRADED site as compared to a NEW install.


  is not merged into an upgraded site - is this important.

Compiler system.codedom is not merged into an upgraded site - is this important
<system.codedom>
<compilers>
<compiler language="vb;vbs;visualbasic;vbscript" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" extension=".vb" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>

On a separate note - although this site is running asp.net4.0 the compiler version is STILL pointing to 3.5 in a NEW install.

Moving on to the <Module> section the ScriptModule handler is not merged into an UPGRADED site.

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="managedHandler"/>
 
The <Handlers> section has a number of differences
<remove name="WebServiceHandlerFactory-Integrated"/>   was not merged into an UPGRADED site and neither were any of the ScriptHandlerFactory extensions -  THEY ARE ALL included in the web.config of the install.zip  not merged into UPGRADED sites - what potential issues could this causes down the track?

<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

The same goes for the sciptmodule in the httpmodules section.

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>


Moving on to the httphandlers - again other variations:

<remove verb="*" path="*.asmx"/>
            <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

are missing entirely:

And in the upgraded site there is a reference to a legacy .htmtemplate

<add verb="*" path="*.htmtemplate" type="DotNetNuke.HtmlEditor.TelerikEditorProvider.HtmTemplateFileHandler, DotNetNuke.HtmlEditor.TelerikEditorProvider"/>

Then we come to the <assemblies> section - most of the standard assemblies listed in the install web.config have not been merged into the upgraded site -  all of the files below are NOT merged into the upgraded sites web.config

<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

and i noted most are also still referencing 3.5 instead of 4.0 on a asp.net 4.0 hosted server

Moving onto the <pages> section there are two controls not merged into the upgrade system:

<controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>

With all these sort of variations in the web.config on a single system it would seem no wonder that many combinations of websites are facing on / unknown or downright weird errors -  the web.config is the core controller for all things asp.net without a consistent base to work from how are people to be confident in upgrades / transitions to new modules and features.

FWIW - it the current web.config as distributed with dnn600 it is not actually possible to install a module that is specifically targeted at or uses asp.net 4.0 features - this should NOT be the case.

On a side note - it may be just a placebo perception - but the upgraded site appears to be more stable and possibly a little faster running with an cleansed web.config with all assemblies and compilers targeted to 4.0.

Westa

 
New Post
8/7/2011 7:37 PM
 
There are always differences to be expected in install and upgrade web.config files as we do not change certain elements globally on an upgrade e.g. we don't change the html editor automatically, so seeing different definitions or references to elements such as htmtemplate used by other providers are to be expected.

As to the framework version, we require .net 3.5sp1 and buld based on that, so these are the values we use in web.config (you'll also see references to the clr 2 version due to the disparity of clr and .net framework version - see below). Finally, changing it to use .net 4.0 is fine but will only affect dynamically compiled files (ascx.cs/app_code), as to get a whole site running under .net 4.0 requires that the projects are compiled against that target framework. In the future when we move to requiring .net 4.0 I'd expect these entries to be updated.

CLR version .net framework versions
2.0.50727 2.0 SP2, 3.0 SP2, 3.5 SP1
4.0.30319 4.0

As for the assemblies versions they're all the clr 2 compiled versions, and in fact if you look in C:\Windows\assembly you'll often see that they're the latest anyway e.g. there is a 3.5 version of system.data.linq and no 4.0 version, even if .net 4.0 was installed (as microsoft saw no need to create a new one i.e. any bug fixes were minor or would introduce breaking change)

However some of the script references definately look wrong and need investigation (could you please log all your points at support.dotnetnuke.com) - some of them are likely superfluos (e.g. script handles for 3.5 dont have to be registered as there is no system.web.extensions.dll so the site will have acces to them as part of .net 3.5sp1 so do not need the handler to guard against loading duplicate dlls)

Thanks,
Cathal

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
8/7/2011 9:19 PM
 
Hi Cathal,

Submitted to Gemini - was more just a list of what I was seeing - what is odd I guess is that the client is adamant the site is so much faster now.

Maybe some legacy dll in there was causing issues - hard to say what specifically - we pretty much culled the web.config back to its bare minimum.

Cheers

Westa
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Upgrading DNN P...Upgrading DNN P...Upgraded 600 web.config different to New 600 web.configUpgraded 600 web.config different to New 600 web.config


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out