Exception in WCSF: An object with this ID already exists: Shell

Topics: Web Client Software Factory
Nov 14, 2009 at 2:50 AM


I get the following exception in the log file. The app is running on Windows 2008, IIS 7.

Any idea what it means and how to fix it?

11/13/2009 10:41:54 PM: WebError: 1: 100: /LM/W3SVC/2/ROOT-1-129026435592199185: ********** 11/13/2009 10:41:54 PM **********
Exception Type: System.ArgumentException
Exception: An object with this ID already exists: Shell.
Source: DefaultPage
Stack Trace:    at Microsoft.Practices.CompositeWeb.Collections.ManagedObjectCollection`1.Build(Type typeToBuild, String idToBuild, Object item)
   at Microsoft.Practices.CompositeWeb.Collections.ManagedObjectCollection`1.AddNew(Type typeToBuild, String id)
   at Microsoft.Practices.CompositeWeb.Collections.ManagedObjectCollection`1.AddNew[TTypeToBuild](String id)
   at Microsoft.Practices.CompositeWeb.Services.ModuleLoaderService.Load(CompositionContainer rootContainer, IModuleInfo[] modulesInfo)
   at Microsoft.Practices.CompositeWeb.WebClientApplication.LoadModules()
   at Microsoft.Practices.CompositeWeb.WebClientApplication.Application_Start(Object sender, EventArgs e)
   at ASP.global_asax.Application_BeginRequest(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Extended Properties:




Nov 17, 2009 at 6:00 PM


This exception could be happening if you are adding two containers with the same name or if your application uses ManagedObjectCollections and it adds two objects with the same name.

For each registered module by configuration, the Composite Web Application will be created a new container by using the module’s name as ID. In case you have duplicated modules names (case-sensitive) the browser displays a configuration error in order to notify to user.

Therefore you may take a look into your application and check if it is adding in the code two objects to a ManagedObjectCollection with the “Shell” ID.

I hope you can find this answer helpful.

Fernando Antivero