gpt4 book ai didi

c# - 如何在不显式调用方法的情况下向引用的程序集提供值?

转载 作者:行者123 更新时间:2023-12-03 22:20:45 25 4
gpt4 key购买 nike

目前我有一个静态类用作我的日志记录模块。我已将该类添加到我的 Visual Studio 解决方案中。在类中,我指定了要使用的日志文件的名称和位置。这让我可以做这样的事情——我喜欢并且想要。

Logger.Information(“Page_Load”,”controls loaded correctly”);

我想重构代码并将日志记录功能移至单独编译的程序集中,如果我这样做,则需要传入日志文件名和位置来保存文件。

但是,我不想每次调用“Logging”方法时都必须提供此信息,这会不好...

Logger.Informtaion(“Page_Load”,”controls loaded correctly”,”logfile.txt”,”c:\temp”);

有什么方法可以提供此信息,而不必在每个页面中或通过方法调用指定它。

最佳答案

当然。最简单的事情是向 web.config 文件添加一个键,您的类通过使用 ConfigurationManager 来查看该文件。

<configuration>
<appSettings>
<add key="logfile" value="c:\log.txt" />
</appSettings>

<system.web>
...
</system.web>
</configuration>


string logfile = ConfigurationManager.AppSettings["logfile"]

如果您的日志记录类比一两个配置选项更复杂,consider building a ConfigurationSection class配合它,这将允许您在 web.config 中创建自己的部分。

配置方法对于此类事情很有用,因为这样您就可以避免将日志文件路径硬编码到应用程序代码中(例如将其传递到静态初始化方法中),如果需要更改,则需要重新编译日志记录路径。但是,您应该只需要在创建日志类时查找日志文件路径一次。

关于c# - 如何在不显式调用方法的情况下向引用的程序集提供值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3071331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com