Excepción al iniciar el sitio web de EPiServer
-
03-07-2019 - |
Pregunta
Estamos desarrollando un sitio web basado en EPiServer e intentando implementar nuestra última compilación en una caja WinXP IIS6.
Al navegar por el sitio, obtenemos el siguiente seguimiento de pila
[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
Lo busqué en Google y visité los foros de EPiServer, pero no encontré ninguna sugerencia o solución concreta. ¿Alguien más se ha encontrado con esto?
Ross
Solución
El archivo de configuración está escrito para IIS7 pero usted construye en el servidor web en Studio y quiere un archivo sonfig IIS6. He escrito sobre esto en mis notas de EPiServer http://epiwiki.se/troubleshooting/classfactory-not-initialized
Otros consejos
Voy a arriesgarme y adivinar aquí, pero ¿por casualidad desarrollaste en EPiServer 5 SP 2 y lo desplegué en EPiServer 5 SP 3?
En EPiServer 5 SP3 hubo algunas remodelaciones sobre cómo un EPiServer maneja la inicialización de la aplicación. Estos cambios se realizaron de modo que no es posible enganchar los eventos de datafactory en Application_Start. En su lugar, primero debe conectarse a Application_FirstBeginRequest y luego tenemos una instancia de DataFactory con la que trabajar.
Definitivamente suena como un error de configuración. Como dijo Mattias, el valor predeterminado de web.config es para IIS7. Esto puede causar problemas al ejecutar IIS6 o Cassini.