【问题标题】:Why does global.asax change sql connection?为什么 global.asax 会改变 sql 连接?
【发布时间】:2010-09-23 23:47:32
【问题描述】:
在 asp.net 3.5 中,我有一个问题,如果我将 global.asax 上传到远程 Web 服务器,应用程序开始寻找我的本地 sql 服务器并最终超时。由于 sql server 登录,我对本地和远程使用不同的配置文件。本地是windows auth,远程是sql server auth。但是,这些信息都没有存储在 global.asax 中。 global.asax 只有
但是一旦上传,某些东西会导致远程尝试查找本地 web.config 的 sql server 登录名。删除遥控器上的 global.asax 会导致一切正常。
有什么想法吗?
【问题讨论】:
标签:
.net
asp.net
web-config
connection
global-asax
【解决方案1】:
你检查过它继承的类吗?它看起来是继承自 myapp.Global
【解决方案2】:
在 global.asax 文件中会导致继承类被使用,继承类中是否有任何代码可能导致更改?
.asax 可能是空白的,但这并不意味着继承的类是。
【解决方案3】:
检查 myapp.Global 类是否访问 Membership、Role 或 Profile 提供者;每个默认设置都使用本地 SQL 服务器连接。
【解决方案4】:
好的,在数据访问DLL中,myapp.DataAccess.Properties有一个
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=VISTADEV;Initial Catalog=Fin;Integrated Security=True")]
public string FinConnectionString {
get {
return ((string)(this["FinConnectionString"]));
}
}
这是我的本地盒子。我看到了问题。在 global.asax.cs 中,而不是做:
使用(DataAccess.FinDBDataContext 上下文 = 新 DataAccess.FinDBDataContext(Configuration.DbConnection))
我在做
使用(DataAccess.FinDBDataContext 上下文 = 新 DataAccess.FinDBDataContext())
这会带回默认值而不是配置值。问题解决了。谢谢。