标签: appsettings

如何在WPF应用程序中更新appSettings?

祝福大家!这是我在stackoverflow上的第一个问题.我有一个WPF应用程序,我正在为我的部门的开发人员编写,有一些设置我需要在启动时检查并更新,如果它们没有设置(一个是用户的可执行文件的位置)电脑,我们都拥有它,只是不在同一个地方).因此,当我的应用程序第一次启动时,我需要弹出一个文件追踪器让他们选择位置.

我需要做的是将它的位置写到appSettings,但我似乎无法得到它,昨晚我努力搜索谷歌试图找到一种方法来做到这一点.我看到的大多数答案都涉及将app.config文件作为直接XML读取,这似乎不对.

所以,我只需要一种方法来为我的应用程序更新appSettings中的值.我可以从他们那里读得很好,只是还没弄明白如何写给他们.非常感谢!

詹姆士

wpf appsettings

9
推荐指数
1
解决办法
2万
查看次数

在1个Eclipse Workspace中处理多个SVN分支

是否有可能有1个工作区包含同一项目的不同分支副本?假设我有Project1,它在这个结构中:

/trunk/Project1
/branches/1/Project1
/branches/2/Project1
Run Code Online (Sandbox Code Playgroud)

我可以在同一个工作区中拥有3个Project 1实例,每个eclipse项目指向trunk还是任何分支?基本上我只是想知道是否必须避免为每个分支创建一个新的工作区.

eclipse svn branch appsettings

9
推荐指数
2
解决办法
7841
查看次数

重复调用ConfigurationManager.AppSettings获取appsetting值的性能问题?

我正在开发一个代码库,它有很多相同的ConfigurationManager.AppSetting调用.

这听起来像是一个可能的性能问题吗?

或者因为数据非常小是微不足道而且不"昂贵"?不断返回文件获取数据,或.NET运行时缓存文件/值/调用?

如果这不是性能问题,那么它只是一种访问应用程序配置值的无组织方法,应该重新考虑是为了更清晰,更一致地实现访问设置吗?

.net performance appsettings

9
推荐指数
1
解决办法
3537
查看次数

使用门户更改Azure应用程序设置而不重新启动

我有时会这样:

在Azure门户中,我转到"App Services",然后单击我的Web应用程序,然后转到"应用程序设置".

在这里,我从"应用程序设置"列表中更改了一个值:

Azure门户中的应用程序设置

例如.我将"128"更改为"129"

最后我点击"保存".

这会导致我的Web应用程序重新启动.我不希望这样.

问题:有没有办法在不重启的情况下手动更改此值?如果没有,我应该以另一种方式存储这个值吗?也许在web.config中使用一个我可以每次上传的新部分?

如果我使用新的部分,例如:

<moreAppSettings configSource="moreSettings.config">
</moreAppSettings>
Run Code Online (Sandbox Code Playgroud)

这个moreSettings.config是这样的:

<?xml version="1.0" encoding="utf-8"?>
<moreSettings>
   <add key="ClientAppBuild" value="129" />
</moreSettings>
Run Code Online (Sandbox Code Playgroud)

我可以上传并覆盖该单个.config文件而无需重启吗?

appsettings azure azure-web-sites

9
推荐指数
1
解决办法
4453
查看次数

不要删除未在模板中声明的AppSettings

通过ARM模板部署Azure功能应用程序AppSettings时,是否可以告诉Azure不要删除未在模板中声明的AppSettings

例如,从模板中获取以下AppSettings配置,并想象我正在更新现有的功能应用程序.在这种情况下,将删除名为storageaccountname_STORAGEAppSetting,这是不合需要的,因为(例如)它已被创建以促进绑定.

{
    "apiVersion":"2016-08-01",
    "name":"appsettings",
    "type":"config",
    "dependsOn":[
        "[resourceId('Microsoft.Web/Sites/Slots', variables('functionAppName'), 'Staging')]"
    ],
    "properties":{
        "AzureWebJobsStorage":"[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listkeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2015-05-01-preview').key1, ';')]",
        "AzureWebJobsDashboard":"[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listkeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2015-05-01-preview').key1, ';')]",
        "APPINSIGHTS_INSTRUMENTATIONKEY":"[reference(resourceId('Microsoft.Insights/components', variables('applicationInsightsName')), '2014-04-01').InstrumentationKey]",
        "FUNCTION_APP_EDIT_MODE":"readwrite",
        "FUNCTIONS_EXTENSION_VERSION":"~1",
        "WEBSITE_CONTENTAZUREFILECONNECTIONSTRING":"[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listkeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2015-05-01-preview').key1, ';')]",
        "WEBSITE_CONTENTSHARE":"[toLower(variables('functionAppName'))]",
        "WEBSITE_NODE_DEFAULT_VERSION":"6.5.0"
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法通过ARM模板选择性地设置AppSettings,或者模板根本不适合这种情况所需的功能?

appsettings azure azure-rm-template

9
推荐指数
1
解决办法
417
查看次数

可以通过configSource链接到web.config的部分配置文件在Web项目中转换吗?

寻找任何与SlowCheetah合作的人在Web项目下转换配置文件的帮助.我们发现从web.config引用的部分配置文件没有被转换.

例如,我们在web.config中包含对部分配置AppSettings.config和ConnectionsString.config的引用,如下所示:

  </system.web>
  <connectionStrings configSource ="ConnectionsString.config"></connectionStrings>
  <appSettings configSource ="AppSettings.config"></appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

然后在AppSettings.config中我们只有AppSettings部分,如下所示:

<appSettings>
  <add key="LostPasswordBCC" value="knock@timmons.com" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

最后在转换文件AppSettings.Debug.config中我们有一些补充:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations 
     see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <appSettings >
    <add key="Release" value="Something" xdt:Transform="Insert" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

显然上面只是一个测试,看看转换发生了,但我们发现的是,在尝试预览转换时,我们得到的所有内容都是错误"处理转换时出错".发布尝试也失败了.

如果我们使配置文件完全形成xml而不是从web.config引用,那么转换似乎工作正常 - 但是希望在多个项目之间共享这些文件.

有没有人知道是否有一个解决方法,我们既可以从web.config引用部分配置,也可以转换那些部分文件?我们正在处理遗留代码,其中包含大量尝试合并的Web项目中的配置文件,因此需要从Web配置链接到单独的共享文件.

xslt web-config transform appsettings slowcheetah

8
推荐指数
1
解决办法
1786
查看次数

将文件保存到MyDocuments + App文件夹

我试图将我的.NET应用程序设置文件保存到用户的%MyDocument%\ MyApplication文件夹,但我不知道如何检查现有的文件夹\文件,并在保存时创建或附加文件夹\ file.我不想打开saveFileDialog,因为我需要文件在所有用户计算机上的相同位置.这是我到目前为止所做的,但它不起作用.任何帮助,将不胜感激:

var saveSettings = settingsList.text;  //assign settings to a variable
saveSettings = Regex.Replace(saveSettings, @"\s+", "").Trim() + Environment.NewLine; //remove any extra spaces and add a carriage return so that each setting is on a new line            

var fileName = string.Format("{0}\\{1}", Environment.SpecialFolder.MyDocuments + "\\MyApp\\", "settings.dat");  //generate path to settings.dat
File.AppendAllText(fileName, saveSettings);  //save settings.dat
Run Code Online (Sandbox Code Playgroud)

c# file append appsettings savefiledialog

8
推荐指数
1
解决办法
2万
查看次数

以编程方式获取已安装的VPN配置文件列表 - iOS

应用程序是否可以以编程方式获取安装在iOS设备上的VPN配置文件列表?

我猜这应该是不可能的,因为这些信息位于应用程序的沙箱之外.但是,我已经看到了NetworkExtension带有NEVPNConnectionNEVPNManager类的框架,允许您动态运行VPN.如果您可以动态设置VPN,也可以获取现有的VPN配置文件.

此外,NEVPNManager有以下方法似乎加载一些首选项: (void)loadFromPreferencesWithCompletionHandler:(void (^)(NSError *error))completionHandler NS_AVAILABLE(10_10, 8_0);

所以,如果你能告诉我是否有可能获取已安装的VPN配置文件列表,那就太棒了.

vpn appsettings ios

8
推荐指数
0
解决办法
332
查看次数

获取ConfigurationSection的初始JSON表示

让我们假设我们有这个部分 appsettings.json

{
  "crypto":{
      "A": "some value",
      "B": "foo foo",
      "C": "last part"
   },
   ...
}
Run Code Online (Sandbox Code Playgroud)

"crypto"某些加密密钥的json序列化在哪里.

稍后在代码中,我需要做这样的事情:

var keyOptions = CryptoProvider.RestoreFromJson(Configuration.GetSection("crypto"))
Run Code Online (Sandbox Code Playgroud)

但是Configuration.GetSection返回ConfigurationSection实例.有办法以某种方式获取原始的json数据吗?

我认为ConfigurationSection.Value应该做的伎俩,但出于某种原因,它总是如此null.

c# json appsettings asp.net-core-mvc asp.net-core

8
推荐指数
2
解决办法
487
查看次数

有没有办法在 aspnetcore 配置中转义 appsetting.json 字典键中的冒号?

我在 appsetting.json 中有这个提供程序字典

  "AppSettings": {
      "Providers": {
         "http://localhost:5001": "Provider1",
         "http://localhost:5002": "Provider2"
      },
      "ArrayWorks": [
         "http://localhost:5001",
         "http://localhost:5002"
      ],
      "SoDoesColonInDictionaryValue": {
         "Provider1": "http://localhost:5001",
         "Provider2": "http://localhost:5002"
      }
   }
Run Code Online (Sandbox Code Playgroud)

下面抛出异常,因为字典键中有冒号。

Configuration.GetSection("AppSettings").Get<AppSettings>()

但是,冒号可以很好地用作字典值或数组,但不能用作字典键。我读到冒号在配置中具有特殊含义,但似乎没有办法逃脱。为什么?

编辑:

public class AppSettings
{
    public string ApplicationName { get; set; }
    public IDictionary<string, string> Providers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

调试 Configuration.GetSection("AppSettings") 时,您会得到这个

Key    AppSettings:Providers:http://localhost:5000
Value  Provider1
Run Code Online (Sandbox Code Playgroud)

本来是这样的

Key     AppSettings:Providers:http_//localhost_5000
Run Code Online (Sandbox Code Playgroud)

但似乎没有办法控制配置如何对待 :::

configuration appsettings asp.net-core

8
推荐指数
1
解决办法
3501
查看次数