2016-03-03 51 views
0

有沒有人在[程序集....]行上具有此語法的名稱。[assembly:attribution ??執行代碼的自定義程序集屬性

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using NHibernate; 
using NHibernate.Cfg; 

[assembly: log4net.Config.XmlConfigurator(Watch = true)] 
namespace MyFirstNHibernateSite.Models 
{ 
    public class NHibernateISession 
    { 

在調用log4net時技術上發生了什麼? 你有參考鏈接,我可以閱讀嗎?或者至少有這個語法的名字?

我瞭解自定義裝配屬性。我不明白這與執行log4net配置方法中的代碼有什麼關係。這就像是我的程序集執行中的所有內容都是log4net的超級全局附件嗎?

謝謝。

回答

0

當log4net程序集初始化時,它會在程序集的程序集級別上搜索此屬性,並從中讀取提供的屬性值(例如Watch = true)。根據這些值,它決定如何配置日誌記錄。

+0

Edin。謝謝。我知道。我一直在尋找關於語法的更深層次的技術細節;以log4net爲例。 – Steve

+0

語法本身不做任何事情。這只是一個裝飾你的裝配的屬性。由其他人(在這種情況下是log4net程序集)來檢查這些信息並採取相應的行動。我們只是從屬性本身瞭解log4net的行爲方式。爲此,我們必須諮詢文件。 – Edin

+0

我得到的歸屬。但它似乎也在執行log4net。我把這條線放進去,編譯並運行adn lo44net也是我所期望的。我刪除該行,沒有其他更改,重新complile&運行和log4net沉默。 – Steve