2009-12-03 23 views
8

için işaretlenmiş bir kayıt defteri anahtarında hatalı işlem denendi. IIS7 & Windows Sever 2008'in üzerinde çalışan Fluent Nhibernate kullanan bir asp.net MVC uygulamasına sahibiz.IIS7 + NHibernate: Silme işlemi

[COMException (0x800703fa): Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA)] 
    System.Reflection.Assembly._nDefineDynamicModule(Assembly containingAssembly, Boolean emitSymbolInfo, String filename, StackCrawlMark& stackMark) +0 
    System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternalNoLock(String name, Boolean emitSymbolInfo, StackCrawlMark& stackMark) +381 
    System.Reflection.Emit.AssemblyBuilder.DefineDynamicModuleInternal(String name, Boolean emitSymbolInfo, StackCrawlMark& stackMark) +105 
    System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(String name, Boolean emitSymbolInfo) +83 
    Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName) +206 
    Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithWeakName() +63 
    Castle.DynamicProxy.Generators.Emitters.ClassEmitter.CreateTypeBuilder(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, TypeAttributes flags, Boolean forceUnsigned) +78 
    Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces, TypeAttributes flags, Boolean forceUnsigned) +69 
    Castle.DynamicProxy.Generators.Emitters.ClassEmitter..ctor(ModuleScope modulescope, String name, Type baseType, Type[] interfaces) +36 
    Castle.DynamicProxy.Generators.BaseProxyGenerator.BuildClassEmitter(String typeName, Type parentType, Type[] interfaces) +140 
    Castle.DynamicProxy.Generators.ClassProxyGenerator.GenerateCode(Type[] interfaces, ProxyGenerationOptions options) +648 
    Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, Object[] constructorArguments, IInterceptor[] interceptors) +139 
    Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type classToProxy, Type[] additionalInterfacesToProxy, IInterceptor[] interceptors) +39 
    NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session) +416 

[HibernateException: Creating a proxy instance failed] 
    NHibernate.ByteCode.Castle.ProxyFactory.GetProxy(Object id, ISessionImplementor session) +642 
    NHibernate.Tuple.Entity.AbstractEntityTuplizer.CreateProxy(Object id, ISessionImplementor session) +49 
    NHibernate.Persister.Entity.AbstractEntityPersister.CreateProxy(Object id, ISessionImplementor session) +102 
    NHibernate.Event.Default.DefaultLoadEventListener.CreateProxyIfNecessary(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options, IPersistenceContext persistenceContext) +255 
    NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) +400 
    NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType) +923 
    NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType) +169 
    NHibernate.Impl.SessionImpl.InternalLoad(String entityName, Object id, Boolean eager, Boolean isNullable) +310 
    NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session) +211 
    NHibernate.Engine.TwoPhaseLoad.InitializeEntity(Object entity, Boolean readOnly, ISessionImplementor session, PreLoadEvent preLoadEvent, PostLoadEvent postLoadEvent) +527 
    NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session, Boolean readOnly) +544 
    NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +1158 
    NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) +105 
    NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, String optionalEntityName, Object optionalIdentifier, IEntityPersister persister) +472 
    NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId) +77 
    NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session) +30 
    NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object id, Object optionalObject, LockMode lockMode, ISessionImplementor session) +182 
    NHibernate.Event.Default.DefaultLoadEventListener.LoadFromDatasource(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) +174 
    NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent event, IEntityPersister persister, EntityKey keyToLoad, LoadType options) +194 
    NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent event, LoadType loadType) +923 
    NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType loadType) +169 
    NHibernate.Impl.SessionImpl.Get(String entityName, Object id) +191 
    NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id) +139 
    NHibernate.Impl.SessionImpl.Get(Object id) +136 
    Huddle.DataAccess.Persistence.Repository`1.FindById(Int32 id) +281 
    Huddle.WebSite.Global.GetWorkspace() +241 
    Huddle.WebSite.Global.Application_BeginRequest(Object sender, EventArgs e) +437 
    System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171 

görünüyor birkaç diğer kimse, bir çözüm için herhangi bir fikir gibi görünse de people aynı sorunu bulduk: sürekli bu istisna ile ölüm sarı renkli bir ekran almak bir yapı sonra) yeniden?

+0

@@ James Hollingworth Bir Uygulama Havuzu için farklı Kimlik ayarı denediniz Bu sorun için IIS'de? –

cevap

3

Bu, .NET çerçevesinin kendisinde bir hataya benziyor.

Not: innermost method being called, ComException'ı atayabileceğini belirtmez.

Sorunun devam edip etmediğini görmek için Castle Dynamic Proxy'nin (2.2 beta) en son sürümüne güncelleme yapmayı öneririm.

Diğer proxy sağlayıcılarından birini kullanmayı deneyebilirsiniz.

Ve ayrıca Microsoft Connect bu sorunu bildirmek

7

Bu Windows'un 2008 tarihinde COM + ve MSMQ ile gördüğüm şey gibi geliyor ne olur Windows 2008 en kısa sürede kullanıcı oturum olarak kullanıcı kayıt defteri kovanını kaldırır olmasıdır açık kalan kollardan bağımsız olarak kapalı. Etkinlik günlüğündeki girdileri, hala kullanılmakta olan işlemlerle kovanın boşaltıldığını görmelisiniz.

burada (DisableForceUnload)

daha fazla bilgiyi Bunu engellemek için ayarlanabilir bir GPO vardır:

http://blogs.msdn.com/distributedservices/archive/2009/11/06/a-com-server-application-may-stop-working-on-windows-server-2008.aspx

İlgili konular