sqlhelper 的类型初始值设定项引发异常
我用三层做的WinForm的信息系统,一直发现这个问题的。这个异常是自己写的,所以其他内容可以不用看,只要看红色部分就可以了。。我的APP.config里面是这么写的<c...
我用三层做的WinForm的信息系统,一直发现这个问题的。
这个异常是自己写的,所以其他内容可以不用看,只要看红色部分就可以了。。
我的APP.config里面是这么写的
<connectionStrings>
<add name="constring" connectionString="Data Source=.;Initial Catalog=Datadb;User ID=sa;password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
sqlhelpe里面内容是这么写,希望有高手帮我看看了
private static readonly string connstr = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;//连接字符串 展开
这个异常是自己写的,所以其他内容可以不用看,只要看红色部分就可以了。。
我的APP.config里面是这么写的
<connectionStrings>
<add name="constring" connectionString="Data Source=.;Initial Catalog=Datadb;User ID=sa;password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
sqlhelpe里面内容是这么写,希望有高手帮我看看了
private static readonly string connstr = ConfigurationManager.ConnectionStrings["constring"].ConnectionString;//连接字符串 展开
4个回答
展开全部
项目采用了三层架构和工厂模式,并借鉴了PetShop的架构,因为这个项目也是采用分布式的数据库,目前只有三个数据库,主要出于提高访问性能考虑。
原来是按照网上对PetShop的介绍来给各项目添加引用的。
1、Web 引用 BLL。
2、BLL 引用 IDAL,Model,使用DALFactory创建实例。
3、IDAL 引用 Model。
4、Model 无引用。
5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。
6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。
问题就出在这里了。顶!
按照PetShop的架构,是DALFactory程序集里通过反射创建针对特定数据访问层里的对应类实例,这样BLL调用接口时就知道调用这个对应类实例里的实现方法。
而反射动态加载程序集是通过这种方法 Assembly.Load("程序集").CreateInstance("命名空间.类"),其中的“程序集”读取的是Web层bin文件夹下对应的dll,即反射加载的程序集dll在Web层的bin文件夹必须有,不然就会出现如题的错误。问题解决了~^_^
出现这种错误的另两种情况,这也是在网上看到的,一起写下来。
一、Web.config配置错误。
在DALFactory程序集里的DataAccess类里,通过
private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
来获得程序集的名称的。
在Web.config里我的配置如下:
<appSettings>
<add key="WebDAL" value="PDMS.SQLServerDAL"/>
</appSettings>
二、程序集名称和默认命名空间错误。
在各个程序集右键--属性,看看程序集名称和默认命名空间有没有写错。这个问题也可能导致如题的错误~~
我直接复制别人的....!!!
原来是按照网上对PetShop的介绍来给各项目添加引用的。
1、Web 引用 BLL。
2、BLL 引用 IDAL,Model,使用DALFactory创建实例。
3、IDAL 引用 Model。
4、Model 无引用。
5、DALFactory 引用IDAL,通过读取web.config里设置的程序集,加载类的实例,返回给BLL使用。
6、SQLServerDAL 引用 Model和IDAL,被DALFactory加载的程序集,实现接口里的方法。
问题就出在这里了。顶!
按照PetShop的架构,是DALFactory程序集里通过反射创建针对特定数据访问层里的对应类实例,这样BLL调用接口时就知道调用这个对应类实例里的实现方法。
而反射动态加载程序集是通过这种方法 Assembly.Load("程序集").CreateInstance("命名空间.类"),其中的“程序集”读取的是Web层bin文件夹下对应的dll,即反射加载的程序集dll在Web层的bin文件夹必须有,不然就会出现如题的错误。问题解决了~^_^
出现这种错误的另两种情况,这也是在网上看到的,一起写下来。
一、Web.config配置错误。
在DALFactory程序集里的DataAccess类里,通过
private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
来获得程序集的名称的。
在Web.config里我的配置如下:
<appSettings>
<add key="WebDAL" value="PDMS.SQLServerDAL"/>
</appSettings>
二、程序集名称和默认命名空间错误。
在各个程序集右键--属性,看看程序集名称和默认命名空间有没有写错。这个问题也可能导致如题的错误~~
我直接复制别人的....!!!
启帆信息
2024-11-19 广告
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!...
点击进入详情页
本回答由启帆信息提供
展开全部
用TaskSwitching_Enable_Disable这个方法可以屏蔽Alt+Tab, Alt+Esc, Ctrl+Esc, Win, Ctrl+Shift+Esc用法一样
using System.Runtime.InteropServices;
[DllImport("WinLockDll.dll")]
public static extern int TaskSwitching_Enable_Disable(bool bEnableDisable);
0
| 评论
using System.Runtime.InteropServices;
[DllImport("WinLockDll.dll")]
public static extern int TaskSwitching_Enable_Disable(bool bEnableDisable);
0
| 评论
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<connectionStrings>
<add name="constring" connectionString="Data Source=.;Initial Catalog=Datadb;User ID=sa;password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
这段 是你自己写的还是自动生成的呢
最好是要vs自动生成的,再调用ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
将readonly去掉
<add name="constring" connectionString="Data Source=.;Initial Catalog=Datadb;User ID=sa;password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
这段 是你自己写的还是自动生成的呢
最好是要vs自动生成的,再调用ConfigurationManager.ConnectionStrings["constring"].ConnectionString;
将readonly去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所提供的错误信息还不够,无法分析,给出原始的错误信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询