簡體   English   中英

nHibernate Log4Net日志記錄異常

[英]nHibernate Log4Net logging exception

我有一個項目,使用nHibernate成功完成設置和測試,我試圖在Visual Studio 2010的調試模式下運行。在設置log4net之前運行項目顯然運行正常,但添加對log4net程序集的引用,相應的行int web \\ Global.Asax文件以及web.config文件中的配置參數導致以下錯誤

覆蓋成員時違反了繼承安全規則:'log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)'。 覆蓋方法的安全性可訪問性必須與被覆蓋的方法的安全性可訪問性相匹配。

在線

配置配置= new Configuration()。Configure();

在下面的代碼塊中

public static ISessionFactory SessionFactory;
    public static ISession OpenSession()
    {
        if (SessionFactory == null) //not threadsafe
        { //SessionFactories are expensive, create only once
            Configuration configuration = new Configuration().Configure();
            configuration.AddAssembly(Assembly.GetCallingAssembly());
            SessionFactory = configuration.BuildSessionFactory();
        }
        return SessionFactory.OpenSession();
    }

我明確遵循本指南:從nHibernate項目配置Log4Net以與NHibernate一起使用

您需要在log4net源中的Util.ReadOnlyPropertiesDictionary.GetObjectData中添加SecurityCritical屬性,詳見https://stackoverflow.com/a/2977020/43846

你應該下載log4net的1.2.11版。 它包括一個針對.NET 4.0的程序集,它包含許多固定而不僅僅是那個屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM