从App.config文件中定义的连接字符串中获取服务器名称?

ozz*_*mra 21 c# connection-string

我想从我的app.config文件中获取ConnectionString的serverName的IP地址,然后ping它.实际上我想在运行我的应用程序之前ping我的服务器.我该怎么做呢?我的ConnectionString

<"name="ConnectionString"
 connectionString="Data Source=192.168.1.5;
                   Initial Catalog=CheckPass2;
                   User ID=User;
                   Password=myPassword" />
Run Code Online (Sandbox Code Playgroud)

Bhu*_*ake 51

我该怎么做呢?

您可以使用SqlConnectionStringBuilder获取服务器地址.DataSource此类的属性可用于此,如下所示:

// Retrieve the ConnectionString from App.config 
string connectString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString);
// Retrieve the DataSource property.    
string IPAddress = builder.DataSource;
Run Code Online (Sandbox Code Playgroud)

DataSource属性对应于连接字符串中的以下键.

  • 数据源
  • 服务器
  • 地址
  • addr和
  • 网络地址

无论在提供的连接字符串中提供了哪些这些值,由SqlConnectionStringBuilderwill 创建的连接字符串都将使用众所周知的"Data Source"密钥.

  • 为了清楚起见,这将获得数据源的名称.用户可以键入IP地址或计算机的名称. (2认同)
  • ...*和*它还将包含实例名称,如果SQL Server实例具有命名实例... (2认同)