我的ASP.NET网站出现以下错误。我刚把它移到了另一台PC上。有IIS运行,SQL Server Express&将数据源计算机名称更改为新计算机名称。但是在任何具有DB访问权限的页面上,我都会收到屏幕截图中显示的错误:
innovations-news.aspx创建了一个新的DataContext:
dataContext = new DataContext(Config.ConnectionString);
My Config类根据当前IP返回连接字符串。例如:
return ConfigurationManager.ConnectionStrings["Development"].ConnectionString;
哪个在web.config中:
<connectionStrings>
<add name="Development" connectionString="Data Source=WORK51C0\SQLEXPRESS;Initial Catalog=Jri;Integrated Security=True;" providerName="System.Data.SqlClient"/>
</connectionStrings>
以下内容来自LinqToSql1.designer.cs
public DataContext() :
base(global::Jri.Data.Properties.Settings.Default.JriConnectionString1, mappingSource)
{
OnCreated();
}
public DataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public DataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public DataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public DataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
关于如何最好地调试这个的任何建议?或者甚至你知道什么是错的?!
谢谢,
答案 0 :(得分:0)
这是一个ArgumentNullException。您以某种方式将null传递给构造函数或DataContext。
附加一个调试器,看看为什么Config.ConnectionString或mappingSource返回null。
答案 1 :(得分:0)
好的,这是My Config类与ConfigurationManager的访问问题。所以我的临时解决方案是让这个类直接输出连接字符串,而不是尝试从web.config获取它。