Eccezione all'avvio del sito Web EPiServer
-
03-07-2019 - |
Domanda
Stiamo sviluppando un sito Web basato su EPiServer e stiamo provando a distribuire la nostra ultima build su un box IIS6 WinXP.
Durante la navigazione sul sito, otteniamo la seguente traccia di stack
[ClassFactoryException: ClassFactory not initialized]
EPiServer.BaseLibrary.ClassFactory.get_Instance() +123
EPiServer.BaseLibrary.Context.get_Repository() +14
EPiServer.WorkflowFoundation.StorageProviders.ObjectStoreStorageProvider.VerifyCommonSchemas() +15
EPiServer.WorkflowFoundation.AspNetWorkflowManager.get_StorageProvider() +44
EPiServer.WorkflowFoundation.AspNetWorkflowManager.Initialize(Boolean lazyLoading) +589
EPiServer.WorkflowFoundation.AspNetWorkflowManager.get_InstanceHandler() +16
EPiServer.WorkflowFoundation.Workflows.ApprovalService..ctor() +93
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +103
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +261
System.Activator.CreateInstance(Type type, Boolean nonPublic) +66
EPiServer.WorkflowFoundation.WorkflowSystem.RegisterServices(IWorkflowManager manager, WorkflowSettingsElement configuration) +338
EPiServer.WorkflowFoundation.WorkflowSystem.Init(HttpApplication context) +240
System.Web.HttpApplication.InitModules() +267
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +1251
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +243
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +106
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +214
L'ho cercato su Google e ho visitato i forum di EPiServer, ma non ho trovato suggerimenti o soluzioni concrete. Qualcun altro là fuori si è imbattuto in questo?
Ross
Soluzione
Il file di configurazione è scritto per IIS7 ma si crea nel server Web in Studio un file sonfig IIS6. Ho scritto questo in tutte le note di EPiServer http://epiwiki.se/tro troubleshooting/classfactory-not-initialized
Altri suggerimenti
Sto andando fuori di testa e indovinando qui, ma per caso hai fatto sviluppo su EPiServer 5 SP 2 e distribuito su EPiServer 5 SP 3?
In EPiServer 5 SP3 sono state apportate alcune modifiche al modo in cui un EPiServer gestisce l'inizializzazione dell'applicazione. Queste modifiche hanno comportato l'impossibilità di collegarsi agli eventi di datafactory in Application_Start. Invece devi prima collegarti a Application_FirstBeginRequest e quindi abbiamo un'istanza di DataFactory con cui lavorare.
Sicuramente sembra un errore di configurazione. Come ha detto Mattias, il web.config predefinito è per IIS7. Ciò può causare problemi durante l'esecuzione di IIS6 o Cassini.