Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#Web服务中构建SqlCredential_C#_Asp.net_Web Services - Fatal编程技术网

在C#Web服务中构建SqlCredential

在C#Web服务中构建SqlCredential,c#,asp.net,web-services,C#,Asp.net,Web Services,我正在使用C#创建一个Web服务。我在主机中有一个SQL数据库,所以我正在构建一个SqlConnection实例,以便能够执行查询 但是要使用SqlConnection您需要一个SqlCredential,它需要SecureString才能初始化(或者分配密码) 问题是,SecureString可以很容易地从密码文本框中获取,但是如果想要在没有它的情况下构建它,就不那么容易了(因为它是一个Web服务,所以它没有任何GUI) 我找到的唯一可用方法是SecureString.AppendChar()

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

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

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

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

有没有其他方法可以做到这一点


提前谢谢

大多数情况下,人们只需使用Web.config中设置的连接字符串创建Sql连接即可

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

(在Web.Config中)


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

我已经看到了这一点,并读到这是不安全的,但无论如何,我要做这篇xD Thanksry,看看这篇关于保护连接字符串的文章(请注意,内部应用程序不会向公众提供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);