【问题标题】:storing a database connection string into my.settings in a .net DLL data layer将数据库连接字符串存储到 .net DLL 数据层中的 my.settings
【发布时间】:2011-07-08 15:53:51
【问题描述】:

大家好 在为 Web 应用程序实现数据层 DLL 时,我一直使用这种方法:

1) 将数据集放入 dll 项目中 2) 使用具有如下方法的辅助类:

public shared sub settCnnStr(strconnhere as string)
My.Settings.Item("connectionString") = strconnhere
end sub

3) 当我需要使用 dll 时,我会调用这样的方法(通常是 global.asax):

xxxxxxx.helper.setCnnStr("yyyyyyyyyyyyyy")

这种方法一直对我很有效,但我想知道这种方法是否有严重的缺陷,或者是否有更好的解决方案。

谢谢

皮尔路易吉

【问题讨论】:

    标签: asp.net vb.net dll data-access-layer strongly-typed-dataset


    【解决方案1】:

    我认为这种方法没有任何严重的缺点。

    不过更好的解决方案可能是在配置文件中指定连接字符串,然后通过My.Settings 对象直接从您的类库项目中读取它。

    如何使用 My.Setting 读取连接字符串设置

    1) 在您的类库项目的Visual Studio Settings Designer 中添加连接字符串设置。这会将其添加到项目的App.config 配置文件中并生成自定义My.Settings 类。

    2) 由于类库项目无法从 App.config 文件中读取,您必须将生成的连接字符串设置移动到您的 Web.config 文件中:

    <configuration>
        <connectionStrings>
            <add name="ClassLibrary.My.MySettings.MyConnString"
                 connectionString="SomeConnString" />
        </connectionStrings>
    </configuration>
    

    3) 这使您可以通过这种方式轻松地从您的类库项目中检索连接字符串:

    Dim connString = My.Settings.MyConnString
    

    相关资源:

    【讨论】:

    • 这是一个不错的解决方案,但通常 DLL 连接字符串取决于在 Web 应用程序上登录的用户。所以我更喜欢在用户登录后动态设置连接字符串
    • 您的用户是否使用 Windows 帐户登录?在这种情况下,您可以使用经过身份验证的用户using Windows Authentication, Integrated Security and Impersonation 的身份连接到数据库。在这种情况下,连接字符串将不包含任何登录凭据,因此是静态的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 2012-10-09
    相关资源
    最近更新 更多