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

È stato utile?

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.

Lettura consigliata

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top