views:

44

answers:

2

I use lazy loading in my application. When I work on my source code and view it in my browser there isn't any problem but when I publish my web application, this error shown :

The following types may not be used as proxies:
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsToChanged should be 'public/protected virtual' or 'protected internal virtual'
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsFromChanged should be 'public/protected virtual' or 'protected internal virtual' 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: NHibernate.InvalidProxyTypeException: The following types may not be used as proxies:
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsToChanged should be 'public/protected virtual' or 'protected internal virtual'
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsFromChanged should be 'public/protected virtual' or 'protected internal virtual'

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 


[InvalidProxyTypeException: The following types may not be used as proxies:
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.Common.OrganizationalMonth: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.GroupTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.BusinessFramework.PartyService.BusinessEntities.RoleTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.JobTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Training.BusinessEntities.ClassSession: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.EmployeeWelfareTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.MissionOrderTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.StaffOrderComputaionTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpStartDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.Staff.BusinessEntities.InsuranceContractTimeFrame: field bkpEndDate should not be public nor internal
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsToChanged should be 'public/protected virtual' or 'protected internal virtual'
Faraconesh.EnterpriseAppUnits.OfficeAutomation.BusinessEntities.SendingInformation: method IsFromChanged should be 'public/protected virtual' or 'protected internal virtual']
   NHibernate.Cfg.Configuration.ValidateEntities() +347
   NHibernate.Cfg.Configuration.Validate() +13
   NHibernate.Cfg.Configuration.BuildSessionFactory() +31
   Faraconesh.ApplicationFramework.Core.DataAccess.NHibernateSessionManager.InitSessionFactory() +804
   Faraconesh.ApplicationFramework.Core.DataAccess.NHibernateSessionManager..ctor() +39
   Faraconesh.ApplicationFramework.Core.DataAccess.Nested..cctor() +39

[TypeInitializationException: The type initializer for 'Nested' threw an exception.]
   Faraconesh.ApplicationFramework.Core.DataAccess.NHibernateSessionManager.get_Instance() +61
   System.Web.Administration.WebAdminModule.CommitAndCloseSession(Object sender, EventArgs e) +247
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

what is the reason. How can I resolve this problem. I use NHibernate 2.1.2 and xml mapping.

+2  A: 

I think you're looking for the use_proxy_validator setting, set that to false in your config.

Also, you may want to look at this thread

David
+1  A: 

You must mark bkpStartDate and others as virtual

afsharm