以编程方式从Web服务编辑另一个应用程序配置文件?

时间:2013-12-25 19:10:38

标签: c# .net web-services

我正在尝试使用我的Web服务编辑另一个应用程序的配置文件。 目前我有:

  [WebMethod]
    public string EditConfig(string path)
    {

        string cfgPath = Path.Combine(path, "Compressor.exe.config");
        var configMap = new ExeConfigurationFileMap { ExeConfigFilename = cfgPath };

        var cf = ConfigurationManager.OpenMappedExeConfiguration(configMap,
            ConfigurationUserLevel.None);

        string hello = cf.AppSettings.Settings["SaveTo"].Value;
        return hello;

        //cf.AppSettings.Settings["RandomAddedKey"].Value = "Hello World!";
        //cf.Save();
    }

我也尝试过:

var config = ConfigurationManager.OpenExeConfiguration(path);
var hello = config.AppSettings.Settings["SaveTo"].Value;
return hello;

可悲的是,我没有取得任何成功,在使用XML编辑器之前,我需要确保这是不可能的,否则我做错了什么? 我搜索了StackOverFlow,最好的结果返回给我一个“对象引用未设置为对象的实例”。异常。

我已经尝试将exe提供给配置路径,只提供几个不同应用程序中的目录。

在这种情况下,我希望Web服务告诉Compressor要压缩的内容以及保存位置,但在代码中我只是在尝试使其工作。

我正在使用.NET Framework 3.5(最新的Web服务)。 我尝试在不同类型的框架版本中编辑应用程序,最终结果是相同的。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果我做对了,你想要做的就是以编程方式操作另一个应用程序的配置文件。您的问题与在Web服务应用程序中进行操作无关。虽然我认为通过同一个应用程序操作配置文件相对容易,但从另一个应用程序执行它并不是一件容易的事。我建议采用两种方法:

  1. 使用.NET API执行此操作。 Here您可以找到远程操作配置文件的示例。

  2. 您可以像使用相应.NET库的每个其他XML文件一样操作特定配置文件。 Here你可以看到如何做到这一点。

  3. 希望我帮忙!