2009-12-14 60 views
1

我在这个主题中看到了一些其他的帖子,但是我认为我会问问题和描述我的问题。什么是动态加载连接字符串的最佳方式

我有一个登录页面使用SQL提供程序进行用户登录。然后用户应该被重定向到主应用程序。这是一个基于Web的CRM应用程序,我们有多个客户。

我的目标是使用一个网站,但多个SQL数据库。并且签入的用户应该使用一个连接字符串,该连接字符串对他所属的公司具有核心意义。

任何好主意?

+0

你的意思是,如果你有25个客户端,那么你有25个数据库? – 2009-12-14 11:49:16

+0

不,他有25组(公司),每组1分贝。这是在问题。 – 2009-12-14 13:39:52

+0

是的,25组(有许多客户),25个数据库和一个网站。 – espenk 2009-12-15 14:42:19

回答

1

它可以在用户的​​组织和相应的数据库连接之间创建一个简单的映射吗?

它可以像在global.asax中初始化的Dictionary<string, string>一样简单。关键是公司和web.config中定义的连接字符串的名称。

如果您需要将其设置为可配置,则可以从自定义配置部分为这样的字典加载值。

+0

这可以工作。但问题仍然是使用该字典中的连接字符串进行连接。我使用LINQ处理所有事情,并需要能够引用连接字符串 – espenk 2009-12-15 14:41:32

+1

在LINQ to SQL和LINQ to Entities中,数据上下文都有重载的构造函数,它们允许传递连接字符串。你可以使用这些。你不能让它从基于任意逻辑的.config中获取连接字符串。 – 2009-12-15 14:50:31

+0

好的。我会看看这个问题 – espenk 2009-12-15 19:30:13

1

在Web.Config中使用ConnectionStrings。点击此链接了解更多信息:How to: Read Connection Strings from the Web.config File。您可以创建一个密钥作为组织的名称,并将其值作为与组织对应的连接字符串。

+0

这就是我今天所做的。问题是所有用户都将使用同一个网站,但根据所属公司的不同,这些数据库会有所不同。 – espenk 2009-12-15 14:40:00

+0

我认为没有问题。那么你如何验证用户?可能来自中央数据库的权利?认证后,从Web.Config中选择连接字符串。 – Anuraj 2009-12-16 07:39:06

+0

你的意思是我应该保存Web.Config中的所有ConnectionStrings,并在用户对SQL服务器进行身份验证后,然后选择coresthroughding connectionString? – espenk 2009-12-17 18:08:09

相关问题