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.