我是一名新开发人员,我正在开发一个使用SalesForce REST API的项目。我的.Net项目的一部分涉及根据登录凭据更新web.config和数据库。
例如,客户端1登录后,将使用正确的使用者密钥和客户端密钥进行更新。此客户端可以访问Database1。
客户端2登录。已正确更新。现在,Database1以编程方式与Database2一起切换。
有没有办法以编程方式更改数据库源,具体取决于登录?
快速修改我的帖子。在这种情况下,Client1和Client2是两个独立的公司,不应该访问彼此的数据库。我希望能够为两个客户端使用相同的应用程序,但更新web.config和使用的数据库,具体取决于登录的公司。
答案 0 :(得分:0)
您无需使用数据库数据更新web.config,具体取决于登录凭据。您可以在web.config文件中包含所需的所有连接字符串:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="database1" connectionString="..." />
<add name="database2" connectionString="..." />
</connectionStrings>
</configuration>
然后只需检索处理用户登录时所需的值:
var connectionString = ConfigurationManager.ConnectionStrings["database1"];
或
var connectionString = ConfigurationManager.ConnectionStrings["database2"];
答案 1 :(得分:0)
只需在.config文件中添加2个条目,就像这样
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="DbConn" connectionString="Data Source=someDataSrc;User Id=someuderId;Password=somePassWord;" />
<add name="DbConn2" connectionString="Data Source=someDataSrc; User Id=someuderId; Password=somePassWord" />
</connectionStrings>
</configuration>
答案 2 :(得分:0)
如果您使用的是L2S或EF,则可以在应用程序中创建一个继承L2S / EF上下文类的类,然后使派生类的构造函数根据登录信息确定要使用的连接字符串。初始化自己。然后,您可以根据需要将该派生类用作数据源。
基本上,您可能会遇到每次添加新客户端/数据库时都不想更新web.config的情况。您需要在web.config中为连接字符串存储模板,而不是字符串本身。