相关疑难解决方法(0)

如何在.net中以编程方式设置连接字符串配置?

我想以编程方式设置连接字符串,绝对不会更改任何配置文件/注册表项.

我有这段代码,但不幸的是它引发了一个例外,"配置是只读的".

ConfigurationManager.ConnectionStrings.Clear();
string connectionString = "Server=myserver;Port=8080;Database=my_db;...";
ConnectionStringSettings connectionStringSettings = 
  new ConnectionStringSettings("MyConnectionStringKey", connectionString);
ConfigurationManager.ConnectionStrings.Add(connectionStringSettings);
Run Code Online (Sandbox Code Playgroud)

编辑: 问题是我有现有的代码从配置中读取连接字符串.因此,手动或通过资源设置配置字符串似乎不是有效的选项.我真正需要的是一种以编程方式修改配置的方法.

.net configuration connection-string

59
推荐指数
5
解决办法
6万
查看次数

线程安全更新缓存的参考数据

假设我有几个List属性.像这样的东西:

List<CustomerTypes> CustomerTypes {get; set;}
List<FormatTypes> FormatTypes {get; set;}
List<WidgetTypes> WidgetTypes {get; set}
List<PriceList> PriceList {get; set;}
Run Code Online (Sandbox Code Playgroud)

因为这些值很少更新,所以我在启动时将它们缓存在我的WCF服务中.然后我有一个服务操作,可以调用它来刷新它们.

服务操作将从数据库中查询所有这些内容,如下所示:

// Get the data from the database.
var customerTypes = dbContext.GetCustomerTypes();
var formatTypes = dbContext.GetFormatTypes();
var widgetTypes = dbContext.GetWidgetTypes ();
var priceList = dbContext.GetPriceList ();

// Update the references
CustomerTypes = customerTypes;
FormatTypes = formatTypes;
WidgetTypes = widgetTypes;
PriceList = priceList;
Run Code Online (Sandbox Code Playgroud)

这导致很少有时间这些并非全部同步.但是,它们并非完全线程安全.(呼叫可以访问新的CustomerType和旧的PriceList.)

我怎样才能这样做,以便在更新引用时,对这些列表的任何使用必须等到所有引用都更新后?

.net c# thread-safety

7
推荐指数
1
解决办法
555
查看次数

从命令行更改 web.config

我有一个在 IIS 下运行的 ASP.NET 应用程序。我希望能够更改应用程序设置中的 web.config 值之一。我知道可以按照本答案中的描述以编程方式更改它,但我想知道是否可以从命令行完成相同的操作。

IIS 7 管理器允许更改应用程序设置和连接字符串(以及其他选项)。我希望有一种方法可以通过 IIS 6 和/或 7 的命令行执行相同的操作。

asp.net iis web-config

5
推荐指数
2
解决办法
5356
查看次数

如何在web.config中设置密码和用户名

在我的MVC应用程序中,我使用连接字符串在Web.config中设置

Private connectionString As String = ConfigurationManager.ConnectionStrings("DBCS").ConnectionString
Run Code Online (Sandbox Code Playgroud)

并且我的数据库连接没有问题.但由于我需要一个密码和用户名来登录我的数据库,我在web.config中对其进行了硬编码

<connectionStrings>
    <add name="DBCS" connectionString="server=win\SQLExpress;database=myDb; uid=myUsername;password=myPassword" providerName="System.Data.SqlClient" />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法从用户界面发送密码和用户名到config.web文件首先我认为ConfigurationManager类应提供一个属性,但我找不到.任何人都可以向我解释如何做到这一点?

security asp.net-mvc web-config

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