有没有办法在Asp.Net应用程序中在运行时向ConfigurationManager返回的ConnectionStringCollection添加连接字符串?
我尝试了以下但是被告知配置文件是只读的.
ConfigurationManager.ConnectionStrings.Add(new ConnectionStringSettings(params));
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以在运行时执行此操作吗?我知道在设计时我可以在web.config中添加连接字符串; 但是,我希望在运行时向该集合添加一些东西.
谢谢
编辑:我试图这样做的原因之一是由于安全要求阻止我将ConnectionStrings放在web.config(甚至加密).我想在我的项目中使用会员和个人资料等元素; 但是,我正在寻找一种替代方法来做这样的,而不是编写自定义提供程序.自定义提供商并不是那么糟糕,但如果我能找到一个更简单的解决方案,我就是全力以赴.
我已经在C#中构建我的项目,我添加DataSet.xsd并连接到他
我的电脑中的Oracle DataBase - 工作很棒!!!!
当我在客户计算机上安装时(连接到他的Oracle DataBase) -
它粉碎了.
我需要更改DataSet.xsd文件上的连接字符串- 但是怎么做呢?
有没有xml文件?还是配置文件?
提前致谢.
我已将我的数据库名称,用户名和密码web.config作为连接字符串写入我的文件中.
我想加密这些数据.我该怎么做?
<connectionStrings>
<add name="ISP_ConnectionString" connectionString="Data Source=JIGAR;
Initial Catalog=ISP;Integrated Security=True;
User ID=jigar;Password=jigar123;
providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在C#中创建一个应该能够创建,备份和还原SQL Server数据库的程序.
为此,用户需要能够为所需的SQL Server(和数据库)设置连接字符串.
我想使用与Visual Studio相同的对话框来创建连接字符串.
这可能吗?
每当我尝试添加带有Entity框架模板的控制器时,我都会收到一条消息错误,但我一直收到错误消息
unable to retrieve metadata for 'path' unrecognized element providers.
(C:\Users\user\appdata\local\Temp-mp6124.tmp line 78)
Run Code Online (Sandbox Code Playgroud)
我知道它与连接字符串有关,所以这是我的连接字符串
<connectionStrings>
<add name="NoktatyContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=NoktatyContext-20140122154208; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|NoktatyContext-20140122154208.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud) entity-framework connection-string database-connection ef-code-first asp.net-mvc-4
我的所有Razors视图都有此错误:
预应用程序启动初始化方法启动类型WebMatrix.WebData.PreApplicationStartCode抛出异常,并显示以下错误消息:
已添加条目"DefaultConnection".
现在,正如您在我的连接字符串配置中看到的那样,我没有重复连接字符串名称:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\foo;Initial Catalog=aspnet-foo-20130212133051;MultipleActiveResultSets=true;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
<add name="ServiDeskConnection" connectionString="Data Source=fooo;Initial Catalog=mdb;User Id=foo;Password=fooo;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />
<add name="mdbEntities" connectionString="metadata=res://*/Models.ExternalData.ExternalContext.csdl|res://*/Models.ExternalData.ExternalContext.ssdl|res://*/Models.ExternalData.ExternalContext.msl;provider=System.Data.SqlClient;provider connection string="data source=foo;initial catalog=mdb;user id=foo;password=foo_prod01;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
<add name="SisInfoInventoryEntities" connectionString="metadata=res://*/Models.ExternalData.Inventory.csdl|res://*/Models.ExternalData.Inventory.ssdl|res://*/Models.ExternalData.Inventory.msl;provider=System.Data.SqlClient;provider connection string="data source=.\foo;initial catalog=foo;integrated security=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用<Clear/>,但情况更糟,因为它说我没有任何联系.
我试图卸载相同解决方案的项目,但它仍然无法正常工作.
请注意,当我构建项目时,它运行良好.
(已经多次回答,但没有一个解决方案适用于我.)
我创建了一个.Net Core API,我引用了一个.Net框架应用程序.引用的Application连接到数据库,其连接字符串存储在web.config文件中:
string CONNSTR =ConfigurationManager.ConnectionStrings["SHOPPINGCNN"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)
.Net Core应用程序使用appsettings.json而不是web.config文件.当我运行API并尝试使用引用的应用程序资源时,上面的代码将被触发并返回null,因为.net Core应用程序中不存在web.config文件.解决此问题的最佳解决方案是什么
连接字符串中连接池ADO.Net支持的最大和最小大小是多少.
最小池大小= [最大大小?]
最大池大小= [最小大小]
所以,我在一个单独的类库中创建了我的实体模型.我不得不将连接字符串添加到该app.config类库的文件中.然后我在我的Web应用程序中为该项目添加了一个ref.我在web.config我的Web应用程序中添加了相同的连接字符串,认为这是Entity Framework将从中读取连接字符串的位置.
在部署我的网络应用程序之前,一切都很好.当我部署时,我更改了web.config(不是app.config类库)中的连接字符串,我开始收到错误.之后做一些研究,我发现,在这两种连接字符串web.config和app.config必须匹配!
这真是愚蠢!每次我需要将我的Web应用程序部署到不同的环境时,我必须返回并修改app.config文件中的连接字符串,然后重新编译我的类库项目,以便它可以获得刷新的连接字符串?
有人找到了更好的方法吗?我的意思是,我不能只想到将实体模型放在一个单独的组件中.
可能的解决方案(如果您使用的是EF 4.1): 由于我们需要在类库项目中使用app.config的唯一原因是EF设计器.如果我们抛弃设计者方法并使用Code-First(EF 4.1),您将不需要为您的类库项目提供app.config文件.
.net entity-framework connection-string entity-framework-4.1
我有这样的连接字符串:
"SERVER=localhost;DATABASE=tree;UID=root;PASSWORD=branch;Min Pool Size = 0;Max Pool Size=200"
Run Code Online (Sandbox Code Playgroud)
如何从中获取各种数据库参数?我可以像这样得到数据库名称和服务器:
serverName = conObject.DataSource;
dbName = conObject.Database;
Run Code Online (Sandbox Code Playgroud)
我也需要用户名和密码.MySqlConnection对象上未设置任何属性.
目前我这样做:
public static void GetDatabaseParameters(string connectionString, out string serverName, out string dbName, out string userName, out string password)
{
Match m = Regex.Match(connectionString, "SERVER=(.*?);DATABASE=(.*?);UID=(.*?);PASSWORD=(.*?);.*");
//serverName = m.Groups[1].Value;
//dbName = m.Groups[2].Value;
userName = m.Groups[3].Value;
password = m.Groups[4].Value;
}
Run Code Online (Sandbox Code Playgroud)
这里有接受的做法吗?
c# ×6
asp.net ×3
.net ×2
web-config ×2
.net-2.0 ×1
ado.net ×1
asp.net-core ×1
asp.net-mvc ×1
encryption ×1
mysql ×1
pool ×1
sql ×1
sql-server ×1
webmatrix ×1