外部程序集可以读取项目中的 web.config 吗?

发布于 2024-12-19 09:26:18 字数 206 浏览 1 评论 0原文

我实际上有两个项目......一个 MVC 项目和一个用于制作我自己的 MembershipProvider 的项目。

我希望持有membershipprovider的项目从MVC项目中读取我的web.config以获取connectionString。

换句话说..当我将程序集添加到项目 MVC 时,它必须能够转到 web.config 并从那里获取连接字符串。

I have actually two projects... an MVC project and a project used for making my own MembershipProvider.

I wish the project that hold the membershipprovider to read my web.config from the MVC project to get the connectionString.

In other words.. when i add the assembly to my project MVC it must be able to go to the web.config and get the connectionString from there.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽心 2024-12-26 09:26:18

如果您的代码位于单独的程序集中,则完全可以读取 web.config。

例如,实体框架数据模型通常放在一个单独的项目中,以便可以重用,并且实体框架模型需要来自 web.config 的连接字符串,除非您在构造函数中提供一个连接字符串。

作为一个实例,下面的方法将返回名为 myConn 的连接字符串:

public string GetMyConn() { 

    return System.Configuration.
        ConfigurationManager.ConnectionStrings["MyConn"].ToString();
}

UPDATE

我不确定您在这里想要什么,但如果您想让 ConnectionString 名称可更改,请这样做:

public string GetMyConn(string connStr) { 

    return System.Configuration.
        ConfigurationManager.ConnectionStrings[connStr].ToString();
}

这里的要点是您也可以从不同的程序集访问它们。

It is completely possible to read the web.config if your code is on a separate assembly or not.

For example, Entity Framework data models are usually put a separate project so that it could be reusable and entity framework model needs a connection string from web.config unless you provide one inside the constructor.

As an instance, the below method will return connectionString named myConn:

public string GetMyConn() { 

    return System.Configuration.
        ConfigurationManager.ConnectionStrings["MyConn"].ToString();
}

UPDATE

I am not sure what do you want here but if you want to make the ConnectionString name changeable, do it this way:

public string GetMyConn(string connStr) { 

    return System.Configuration.
        ConfigurationManager.ConnectionStrings[connStr].ToString();
}

The point here is that you can access them from a different assembly as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文