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

时间:2011-12-03 18:57:12

标签: asp.net-mvc web-config external-process

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

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

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

1 个答案:

答案 0 :(得分:2)

如果您的代码是在单独的程序集上,则完全可以读取web.config。

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

作为一个例子,下面的方法将返回名为myConn的connectionString:

public string GetMyConn() { 

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

<强>更新

我不确定你想要什么,但是如果你想让ConnectionString名称可以改变,那么就这样做:

public string GetMyConn(string connStr) { 

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

这里的要点是你也可以从不同的装配中访问它们。