2011-08-19 59 views
3

我在用C#編寫的Internet Explorer瀏覽器擴展中使用Log4Net。有時候,Internet Explorer提示Internet Explorer提示「一個網站想要在您的計算機上使用此程序打開網頁內容」,並要求我允許或不允許。顯然,這不是網站,它只發生在我登錄時,所以它看起來就像是Log4Net。這是正常的和/或有什麼辦法使它不會發生?如果我想在運行log4net方法時運行csc.exe,Internet Explorer會提示我

它只發生在我啓用保護模式時,但我需要能夠在保護模式下運行日誌代碼,並且不希望用戶被提示。

回答

4

聽起來像日誌記錄正在觸發對象的序列化。序列化通過檢查對象,解析公共屬性,創建代理類並將其編譯,然後調用CSC(C#編譯器)來實現。

你就可以使用手動sgen系列化組件,然後鏈接到這些應用程序,然後將在運行時停止生成.NET代理。

+0

可能。使用log4net,我只是將一個字符串傳遞給記錄器,因此_my_對象轉換爲字符串是在任何日誌記錄代碼執行之前完成的。這意味着如果它是序列化的怪,它必須是內部的log4net,對吧?我想是時候鑽研log4net代碼了...... – Rory

+0

其實它並不是Log4Net,它是外面的序列化代碼,但blowdart的答案是正確的,因爲它是序列化的。我不使用默認的序列化,所以不能使用sgen。我已經提出了http://stackoverflow.com/questions/7333689/generating-an-xml-serialization-assembly-for-a-custom-xmlserializer作爲跟進。 – Rory

相關問題