好吧,我知道这已经被问过一千次,但没有确凿的解决方案已经得到的...所以这里还有一个非常愚蠢的问题!解密(只)连接字符串中的WinForms部分的app.config
我有一个WinForms 3.5应用程序,并使用LINQ to SQL,因此连接字符串总是存储在“app.config中”默认情况下(和VS2008不会接受这个存储任何其他方式 - 伊夫甚至试图覆盖这在IDE生成的代码中)。话虽这么说,任何人有位计算机知识的需要刚好浏览到该应用程序的安装目录,查找[APPNAME] .exe.config文件,并打开它揭示应该安全访问数据库的用户名/密码。即使你选择加密/解密这个部分,它也只是在应用程序运行时才会完成 - 所以我假设当应用程序关闭时,connString部分恢复为纯文本....可以再次读取。 (?!?!......你怎么赢)记住
饲养,即时通讯使用LINQ和产生LinqDataContext,我想知道的是:
- 能否CONNSTRING不存储在除app.config之外的其他地方? (也许就像安装后可以修改的用户设置文件一样)
- 如果以上可行,是否可以将预加密的 connstring存储到配置文件中(肯定不会被读取)和在我的应用程序中,只有打开连接时才选择解密connstring?
如果没有这种可能,我可能要恢复使用传统ADO.NET(看到我已经有数百个存储特效的所有CRUD操作) - 至少这样我可以有超过如何控制以及存储连接线的位置。
顺便说一句 - 对不起,如果这是一个少年/混乱的问题要问,如果你觉得我错与任何即时通讯解释,请让我知道。
非常感谢!
**更新:**我发现下面的链接(http://goneale.com/2009/ 03/26/untie-linq-to-sql-connection-string-from-application-settings /),这是不言自明的,并照顾我的第一个问题 - 哇!请问有人可以帮我解答我的第二个问题吗? – Shalan 2009-07-29 21:26:53