Since the connection string is global to the web application and does not change during the life of the application, stick the code in the Application_Start Event
protected void Application_Start(Object sender, EventArgs e)
{
{... }
Application["UnencryptedConnectionString"] = "whatever it is";
}
For a little abstraction, you can hide that it comes from the Application State
public class Site
{
public static string GetUnencryptedConnectionString()
{
return (string)Application["UnencryptedConnectionString"];
}
}
and use it in your BLL as such
[object].ConnectionString = Site.GetUnencryptedConnectionString();
If you have a lot of global settings to share across the web application, you would be better off to create a class and store the class in the application state as opposed to a bunch of objects. One or two is not a big deal, however. I used a method above, but if you prefer to create a propery, that is fine, too.