...而不是从配置文件中读取!除了完全阅读会员提供商自己使用的内容之外,不能从任何地方推断它。叫我偏执狂。如何获取成员资格提供程序正在使用的ConnectionString?
我的应用程序中第一次访问数据是对成员资格提供者的访问。绝大多数的连接问题已经在应用程序部署到暂存或生产与发展的连接字符串,所以我想改变这种:
MembershipUser me = Membership.GetUser();
这样:
MembershipUser me;
try
{
me = Membership.GetUser();
}
catch (SqlException E)
{
Response.Write("SQL Error " + E.Message + ".<br />");
Response.Write("Connection String: " + Membership.Provider.WHAT? + "<br />");
}
似乎很明显,但我发现每一个参考指示我使用ConfigurationManager
,这是我特别不要想要做的。虽然我承认这样做可能是我唯一的选择,而且这是一个令人满意的选择。
我完全愿意接受的可能性,我的问题是看齐,与此:
int i;
try
{
i = 42;
}
catch (Exception e)
{
Response.Write("Error assigning literal to integer.");
}
如果是这种情况,请相应评论。
在对代码进行任何更改之前,也许您可以做一些事情来使您的部署过程更加健壮?我建议为您的不同环境(开发,分期,制作等)创建web.config变换,以减少忘记更改环境相关设置的风险(请参阅http://msdn.microsoft.com/zh-cn/library/ dd465318.aspx)。 – 2011-03-14 16:17:32