Well, I decided to dig into the readme file in more detail, specifically looking for "proxy". I also added the NHibernate source as part of my solution to debug. It turns out that by default proxy validation is enabled. It verifies that public properties are defined as
virtual. I added the following property to my
Web.config:
Code:
<property name="use_proxy_validator">false</property>
However, now I get the following error, which leads me to believe that even though I turned off proxy validation it still expects it enabled. Is this a feature or a bug? Perhaps I need to turn something else off.
Parse Error Message:Code:
NHibernateRoleProvider: unable to find user in role; operation failed with error "Creating a proxy instance failed".
Base Exception Message:Code:
"Access is denied: 'NHibernateProvider.Entity.Application'."
Base Exception Stack Trace:Code:
at System.Reflection.Emit.TypeBuilder.TermCreateClass(Int32 handle, Module module) at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock() at System.Reflection.Emit.TypeBuilder.CreateType() at Castle.DynamicProxy.Builder.CodeBuilder.AbstractEasyType.BuildType() at Castle.DynamicProxy.Builder.CodeGenerators.BaseCodeGenerator.CreateType() at Castle.DynamicProxy.Builder.CodeGenerators.ClassProxyGenerator.GenerateCode(Type baseClass, Type[] interfaces) at Castle.DynamicProxy.Builder.DefaultProxyBuilder.CreateClassProxy(Type theClass, Type[] interfaces) at Castle.DynamicProxy.ProxyGenerator.CreateClassProxy(Type baseClass, Type[] interfaces, IInterceptor interceptor, Boolean checkAbstract, Object[] argumentsForConstructor) at NHibernate.Proxy.CastleProxyFactory.GetProxy(Object id, ISessionImplementor session) in D:\Projects\Src\NHibernateProvider\NHibernate-1.2\Proxy\CastleProxyFactory.cs:line 58 at System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean isMembership, String methodName, Object[] parameters, Type[] paramTypes) at ASP.security_users_edituser_aspx.__DataBinding__control14(Object sender, EventArgs e) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\editUser.aspx:line 232 at System.Web.UI.Control.OnDataBinding(EventArgs e) at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.Control.DataBindChildren() at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) at System.Web.UI.Control.DataBind() at System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem) at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource) at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e) at System.Web.UI.WebControls.Repeater.DataBind() at ASP.security_users_edituser_aspx.PopulateCheckboxes() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\editUser.aspx:line 53 at ASP.security_users_edituser_aspx.Page_Load() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\editUser.aspx:line 34 at System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)