Bre*_*uck 2 c# asp.net null connection-string nullreferenceexception
可能是一个C#noob问题,所以不要激怒我.我试图这样做:
if (ConfigurationManager.ConnectionStrings["PrimaryConnectionString"].ConnectionString != null)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
但我一直得到一个System.NullReferenceException.我想,因为它返回一个我可以检查null并继续前进的字符串.我花了一段时间才找到正确的方法:
ConnectionStringSettings cs = ConfigurationManager.ConnectionStrings["PrimaryConnectionString"];
if (cs != null)
{
this.Connection.ConnectionString = cs.ConnectionString;
}
Run Code Online (Sandbox Code Playgroud)
所以在其他情况下,比如检查Session对象的某些值,我会null像这样检查:
if (Session["EmployeeID"] != null)
{
_EmployeeID = System.Convert.ToInt32(Session["EmployeeID"]);
}
Run Code Online (Sandbox Code Playgroud)
所以我只是想知道你怎么知道什么时候能做或不能做检查null?
pax*_*blo 11
你的问题是你正在检查:
ConfigurationManager
.ConnectionStrings["PrimaryConnectionString"]
.ConnectionString
Run Code Online (Sandbox Code Playgroud)
对于空指针.
事实上,
ConfigurationManager
.ConnectionStrings["PrimaryConnectionString"]
Run Code Online (Sandbox Code Playgroud)
为空,这样,当你试图取消引用是获取连接字符串,这就是当你有例外.实际上,你正在做的是:
null.ConnectionString
Run Code Online (Sandbox Code Playgroud)
这是有问题的.
我倾向于在单个语句中避免多层解除引用,或者在整个事物周围放置一个异常处理程序来捕获任何问题.
| 归档时间: |
|
| 查看次数: |
2246 次 |
| 最近记录: |