Hi,
I'm getting this error when trying to use lazy property with 2nd Level 
Cache. *Unable to cast object of type 'System.Object' to type 
'System.Byte[]'*
Also, I got same error using simple QueryOver: QueryOver<User>().Where(u => 
u.Email == email).And(u => !u.IsDeleted).Cacheable().SingleOrDefault();

Can you suggest any fixes/workarounds (except turn-off cache)?

Thanks in advance

*NHibernate config:*
    <property name="cache.provider_class">
      NHibernate.Caches.SysCache.SysCacheProvider, 
NHibernate.Caches.SysCache
    </property>
    <property name="cache.use_second_level_cache">true</property>
    <property name="cache.use_query_cache">true</property>
    <property name="connection.release_mode">on_close</property>
    <property name="proxyfactory.factory_class">
      NHibernate.ByteCode.Castle.ProxyFactoryFactory, 
NHibernate.ByteCode.Castle
    </property>
    <property name="adonet.batch_size">10</property>


*System.InvalidCastException was unhandled by user code*
  Message=*Unable to cast object of type 'System.Object' to type 
'System.Byte[]'.
  Source=NHibernate
*  StackTrace:
       at NHibernate.Type.BinaryType.ToInternalFormat(Object bytes)
       at NHibernate.Type.AbstractBinaryType.DeepCopyNotNull(Object value)
       at NHibernate.Type.MutableType.DeepCopy(Object value, EntityMode 
entityMode, ISessionFactoryImplementor factory)
       at NHibernate.Type.AbstractType.Assemble(Object cached, 
ISessionImplementor session, Object owner)
       at NHibernate.Type.TypeHelper.Assemble(Object[] row, 
ICacheAssembler[] types, ISessionImplementor session, Object owner)
       at NHibernate.Cache.Entry.CacheEntry.Assemble(Object[] values, Object 
result, Object id, IEntityPersister persister, IInterceptor interceptor, 
ISessionImplementor session)
       at NHibernate.Cache.Entry.CacheEntry.Assemble(Object instance, Object 
id, IEntityPersister persister, IInterceptor interceptor, 
ISessionImplementor session)
       at 
NHibernate.Event.Default.DefaultLoadEventListener.AssembleCacheEntry(CacheEntry 
entry, Object id, IEntityPersister persister, LoadEvent event)
       at 
NHibernate.Event.Default.DefaultLoadEventListener.LoadFromSecondLevelCache(LoadEvent
 
event, IEntityPersister persister, LoadType options)
       at NHibernate.Event.Default.DefaultLoadEventListener.DoLoad(LoadEvent 
event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
       at NHibernate.Event.Default.DefaultLoadEventListener.Load(LoadEvent 
event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
       at 
NHibernate.Event.Default.DefaultLoadEventListener.ProxyOrLoad(LoadEvent 
event, IEntityPersister persister, EntityKey keyToLoad, LoadType options)
       at NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent 
event, LoadType loadType)
       at NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType 
loadType)
       at NHibernate.Impl.SessionImpl.Get(String entityName, Object id)
       at NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id)
       at NHibernate.Impl.SessionImpl.Get[T](Object id)
       at SharpArch.Data.NHibernate.RepositoryWithTypedId`2.Get(IdT id) in 
D:\Work\.NET\Libs\SharpArchitecture\Sharp-Architecture\src\SharpArch\SharpArch.Data\NHibernate\Repository.cs:line
 
48
       at 
Prj.Controllers.DynamicImageController.GenerateAppropriateImage(DynamicImageType
 
dynamicImageType, Int32 objectID) in 
D:\Work\vk\Projects\KudaNado\Src\KudaNado\Controllers\DynamicImageController.cs:line
 
43
       at Prj.Controllers.DynamicImageController.Generate(String data) in 
D:\Work\vk\Projects\KudaNado\Src\KudaNado\Controllers\DynamicImageController.cs:line
 
29
       at lambda_method(Closure , ControllerBase , Object[] )
       at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 
controller, Object[] parameters)
       at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext 
controllerContext, IDictionary`2 parameters)
       at 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext 
controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 
parameters)
       at 
System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a()
       at 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 
filter, ActionExecutingContext preContext, Func`1 continuation)
       at 
System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c()
       at 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext
 
controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, 
IDictionary`2 parameters)
       at 
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext 
controllerContext, String actionName)
       at System.Web.Mvc.Controller.ExecuteCore()
       at System.Web.Mvc.ControllerBase.Execute(RequestContext 
requestContext)
       at 
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext 
requestContext)
       at 
System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__4()
       at 
System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
       at 
System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult
 
_)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End()
       at System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult 
asyncResult, Object tag)
       at System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult 
asyncResult, Object tag)
       at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult 
asyncResult)
       at 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult
 
result)
       at 
System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, 
Boolean& completedSynchronously)
  InnerException: 



-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to