0

我的解决方案文件中有 12 个项目。有大多数 Windows 服务 ( ServiceProj_1, ServiceProj_2, ...),一个项目是 Web 应用程序 ( WebApp)。我使用 log4net 进行日志记录。WebApp并将ServiceProject_1, ServiceProj_2, ...log4net 配置分别放入web.configapp.config文件中。我们已经实施了 DMZ,所以WebApp它只暴露给其他人。现在需要使用这些 Windows 服务项目的日志记录而不是WebApp.

我知道我可以创建一个自定义附加程序并使之成为可能。问题是,已经写入了很多行WebApp来记录LogMessage日志文件,因此我们无法触及这些行。

我不知道该怎么做和怎么做。需要帮忙。如果描述无法理解,请告诉我,我会尽力解释更多。

4

1 回答 1

0

您可以指定配置文件并动态加载它...这里我的配置文件位于 FullConfigFilePath 的位置。

private Configuration Config
{
    get
    {
        if (_Config != null) return _Config;

        _Config = ConfigurationManager.OpenMappedExeConfiguration(
        new ExeConfigurationFileMap()
        {
            ExeConfigFilename = FullConfigFilePath
        }, ConfigurationUserLevel.None);
        return _Config;
    }
}   

加载配置后,您可以从那里访问值......例如......

private string BaseUrl
{
    get
    {
        return this.Config.AppSettings.Settings["MyConfigSetting"].Value;
    }
}

希望您可以根据需要调整和使用这种方法。

于 2019-12-19T11:18:00.460 回答