【问题标题】:Same Application for two countries: Switching Database or Switching Applications [closed]两个国家的相同应用程序:切换数据库或切换应用程序[关闭]
【发布时间】:2018-02-06 11:58:06
【问题描述】:

我有一个 Web 应用程序,我们在其中从客户那里获取数据并对其进行处理,例如:保存客户信息、与客户一起管理所有项目、管理报告等(我认为不需要有关应用程序的更多信息)。我使用 mysql(remote server) 每 10 秒从应用程序中获取数据,然后使用 sql server 2008(local server) 存储和获取所有本地数据。

注意:客户不与此应用程序交互。它仅用于 当地员工。

现在,问题是此应用程序适用于一个国家/地区,即remote server 仅具有来自该国家/地区的数据。现在我们正在新的国家推广我们的业务。所以remote server 会有所不同,也会在sql server 中创建不同的本地数据库。

但是除了数据库数据之外,两者的应用程序代码都是相同的。因此,我们正在考虑使用带有linkbutton 的相同应用程序在它们之间切换。例如,我们会让linkswitch to another country site。单击此链接将重新加载所有应用程序,并将从另一个 remote server 获取数据,还将使用不同的本地 database

我不确定如何实现这一点。我应该在我的global.asax 文件中更改connection strings 在某些条件下还是在.config file 中更改,或者有任何其他好的方法来做到这一点。

如果您需要更多信息,请告诉我。任何帮助将不胜感激。提前谢谢..!!

【问题讨论】:

  • 没有一种解决方案。它可以简单到在应用程序的所有 URL 中添加带有 countryname 的额外查询字符串参数,并使用它来确定要使用的数据库。它也可能像代码、构建过程、部署策略等方面的变化一样复杂。应用程序的设计和开发方式也增加了复杂性。您需要分享更多相关信息,但我不确定您的问题是否有最适合您的应用的完美答案。
  • SO 不适用于像这个问题这样的策略的讨论。还有一些其他站点(也在 StackExchange 世界中)更适合。如果您的策略很明确并且在实施该策略时遇到问题,您可以回到这里
  • @Chetan 感谢您的回复,我不确定要共享哪个代码作为它的大型应用程序。我唯一可以分享的是,如果这就是您所要求的,我正在将连接字符串添加到 global.asax 文件中的数据库帮助程序
  • @Sir Rufo 然后我可以将问题改为如何实施这种方法。适合吗?
  • 是的,在您自己尝试并卡在特定点之后

标签: c# mysql asp.net sql-server


【解决方案1】:

我想目前的方法会更好,你需要做的就是将连接字符串添加到 web config 并根据条件切换连接字符串

你也可以通过他/她的IP查出用户所在的国家,连按键都不用自动切换连接字符串

http://dotnetguts.blogspot.in/2008/06/finding-country-from-visitors-ip-in.html

P.s(您可能需要为用户使用 VPN 或来自除您的国家/地区列表之外的任何其他国家/地区的用户设置默认情况)

【讨论】:

  • 感谢您的建议。实际上,该应用程序不是基于用户的。它仅供当地员工使用。不同之处在于来自两台服务器的数据,因此我们无法使用 IP 地址进行切换。
  • 那么在你当前的计划中放一个按钮
  • 好吧,我不知道如何区分两者?
  • 我会说定义一个单例类,当用户选择他想要使用的国家/地区时保存它并在您的数据访问中根据保存的国家/地区切换连接字符串
  • 好的,谢谢@Rahul,我认为它会起作用,会试试这个。由于应用程序正在由许多用户同时运行,它会影响其他用户的任务吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
相关资源
最近更新 更多