在C#Web服务中生成SqlCredential

本文关键字:SqlCredential C#Web 服务 | 更新日期: 2023-09-27 17:59:35

我正在使用C#创建一个Web服务。我在主机中有一个SQL数据库,所以我正在构建一个SqlConnection实例,以便能够执行查询。

但要使用SqlConnection,您需要一个SqlCredential,它需要SecureString才能初始化(或者分配密码)。

问题是,SecureString可以很容易地从密码文本框中获得,但当想要在没有它的情况下构建它时就不那么容易了(因为它是一个Web服务,所以它没有任何GUI)。

我找到的唯一可用的方法是SecureString.AppendChar(),所以我必须通过在原始密码字符串上使用循环来构建SecureString,以便将其字符添加到其中,这对我来说似乎很奇怪

是否有其他方法可以做到这一点?

提前感谢!

在C#Web服务中生成SqlCredential

大多数时候,人们只需使用Web.config中设置的连接字符串创建一个Sql连接。

您可以将连接字符串传递到SqlConnection的构造函数中,如下所示:

(在Web.Config中)

<connectionStrings>
    <add name="nameOfConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

然后你可以这样访问它:

var connectionString = Configuration.ConfigurationManager.ConnectionStrings["nameOfConnectionString"].ConnectionString;
var sqlConnection = new SqlConnection(connectionString);

有关不同类型的连接和格式的更多信息,您可以在谷歌上搜索信息,但SQL Server连接字符串通常会列出布局。