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

¿Fue útil?

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.

Lectura sugerida

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top