ClickOnce和connectionStrings

时间:2010-06-26 08:56:32

标签: clickonce connection-string

我有一个将由两个客户端(每个多个用户)使用的ClickOnce应用程序。应用程序连接到MSSQL / MySQL。如何通过一个ClickOnce部署为它们提供不同的connectionString?

我真的希望尽可能地保持(尽可能)简单(并且有单一的发布点),但我怎样才能给它们不同的设置?

一个想法是根本不给它们connectionString,并启用应用程序选择服务器,数据库和用户名/密码,然后将其保存到userSettings。

另一个想法(我不是很喜欢)是拦截对app.exe.config.deploy文件的IIS http请求,并使用适当的设置为每个客户端重写它。

这可以做到,错误,人性化吗?

2 个答案:

答案 0 :(得分:0)

既然您仍然是“网络服务”,我建议如下:

  • 以4个字母数字的长度为每个用户组(每个客户端)提供一个唯一的PIN
  • 在服务器端为PIN创建查找表 - >参数翻译
  • 首次启动应用时,请求PIN并获取适当的参数,并将其存储在本地

答案 1 :(得分:0)

对于初学者来说,使用ClickOnce的每个人都应该关注RobinDotNet的博客 - http://robindotnet.wordpress.com

我在MSDN上找到了How to: Retrieve Query String Information in a ClickOnce Application的链接。

我的每个客户都会通过链接安装应用程序,该应用程序将包含其标识符(可能是GUID)。首次启动时,我会将该标识符保存到设置中。我将创建一个Web服务,该服务将保留所有客户端的设置并通过其标识符跟踪它们。