C# 向用户询问服务器名称并在每次运行应用程序时保存

Posted

技术标签:

【中文标题】C# 向用户询问服务器名称并在每次运行应用程序时保存【英文标题】:C# ask user for servername and save for everytime application is ran 【发布时间】:2015-04-27 13:07:00 【问题描述】:

我尝试过搜索但没有运气,因为我不确定我使用的术语是否正确。

我试图弄清楚如何让用户在第一次运行应用程序时输入他们的服务器名称,将其存储并插入到文件路径/连接字符串中。

初始运行的伪代码:

    我知道这是您第一次运行此应用程序。请输入您的文件服务器名称。

    用户输入:fileserver123x

    将 Fileserver123x 写入文本文件。

初始化数据库连接

    string fileServername = 读取文本文件;

connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\'"+fileServerName+@"'\share\folder\Database.accdb;Persist Security Info=False;");

    其余代码

我正在寻找是否有更好/更专业的方式来存储用户文件服务器信息而不是通过文本文件并在每次初始化数据库连接时读取它。

有什么想法吗?

【问题讨论】:

那行代码不会编译。 会有帮助吗? connectionstrings.com/access-2010 编辑后的帖子让我更清楚我在寻找什么。 【参考方案1】:

您的概念看起来不错,我建议您进行一些改进:

将文件服务器名称存储在 Windows 注册表中,而不是文本文件中。这是运行良好的 Windows 程序存储其配置数据的地方。

存储数据库的完整路径而不是文件服务器名称。这样,您的客户就不必使用固定的共享/文件夹名称。

创建一个可以修改此配置数据的配置窗口。这也可以作为您第一次运行时显示的窗口。

不要在每次打开连接时读取配置数据。在您的应用程序启动时读取它一次,并将其存储在全局变量中。

(注意:一般来说,全局变量是一种代码味道,但存储全局配置数据通常被认为是合法的用例。如果您想要一个更高级的解决方案来简化单元测试,请查看依赖注入配置数据。)

【讨论】:

以上是关于C# 向用户询问服务器名称并在每次运行应用程序时保存的主要内容,如果未能解决你的问题,请参考以下文章

使用密码或令牌加密 .csv 文件,并在每次用户想要读取文件时询问该密码

IOS - 如何向用户询问权限?

如何在后台运行 .NET 控制台应用程序

如何在 C# 中实现交互式决策树

如何生成还包含并在javascript中运行php代码的HTML代码(onclick事件)

想要向新用户显示欢迎页面,并在 Flutter Firebase 中向登录用户显示主屏幕