未实现该方法或操作 总结

UserInfo类调试中出错

用户代码未处理 System.NotImplementedException   HResult=-2147467263   Message=。 Source=Ahaha.OA.NHDAL   StackTrace: 在 Ahaha.OA.NHDAL.UserInfoDal.GetEntities(Expression`1 whereLambda) 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.NHDAL\UserInfoDal.cs:行号 19 在 Ahaha.OA.BLL.BaseService`1.GetEntities(Expression`1 whereLambda) 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.BLL\BaseService.cs:行号 45 在 Ahaha.OA.UI.Portal.Controllers.UserInfoController.Index() 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.UI.Portal\Controllers\UserInfoController.cs:行号 37 在 lambda_method(Closure , ControllerBase , Object[] ) 在 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) 在 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() 在 System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) 在 System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.End() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()   InnerException:

为什么报错的位置是:

一、 在 Ahaha.OA.UI.Portal.Controllers.UserInfoController.Index() 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.UI.Portal\Controllers\UserInfoController.cs:行号 37

二、在 Ahaha.OA.BLL.BaseService`1.GetEntities(Expression`1 whereLambda) 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.BLL\BaseService.cs:行号 45

原因:

1、BLL层的BaseService通过抽象工厂Ahaha.OA.DALFactory.StaticDalFactory DAL层,结果就到了EFDAL。

2、Ahaha.OA.DALFactory.StaticDalFactory中

public static string assemblyName = System.Configuration.ConfigurationManager.AppSettings["DalAssemblyName"];

return Assembly.Load(assemblyName).CreateInstance(assemblyName + ".UserInfoDal") as IUserInfoDal;

3、Ahaha.OA.UI.Portal的web.config中

<!--抽象工厂创建数据库访问层实例所在的程序集名称-->

<add key="DalAssemblyName" value="Ahaha.OA.NHDAL" />

三、在 Ahaha.OA.NHDAL.UserInfoDal.GetEntities(Expression`1 whereLambda) 位置 f:\vs_object\Ahaha.OA\Ahaha.OA.NHDAL\UserInfoDal.cs:行号 19

原因:NHDAL根本没有写完整。当初写NHDAL只为了测试抽象工厂能不能实现数据库驱动访问层的更换,随便写了一个几乎是空实现的NHDAL,最后忘记改回来。导致后续工作中出现Bug。

改正:  <add key="DalAssemblyName" value="Ahaha.OA.EFDAL" />

总结:提示消息顺序是从深层到表层,它已经把可能错误的位置告诉我们了,我们需要冷静耐心的看错误提示,一个一个的排除错误可能项,逐渐缩小范围。

时间: 2024-10-11 18:02:19

未实现该方法或操作 总结的相关文章

NotImplementedException未实现该方法或操作

使用DevExpress为控件CheckedListBoxControl绑定DataSource时,引发异常“NotImplementedException未实现该方法或操作”,代码如下: this.checkedListBoxControl.DataSource = DataAccess.BaseInfoDataAccess.Sites.Where(v => v.Site==1); this.checkedListBoxControl.ValueMember = "Site";

MySQL安装配置最后时未响应解决方法

安装MySQL出示未响应,一般显示在安装MySQL程序最后一步的2,3项就不动了. 这种情况一般是你以前安装过MySQL数据库服务项被占用了.解决方法:一种方法:你可以安装MySQL的时候在这一步时它默认的服务名是“MySQL” 只需要把这个名字改了就可以了. 二种方法:1.卸载MySQL   2.删除安装目录及数据存放目录   3.在注册表(regedit)查询mysql,全部删除   4.在c盘查询MySQL,全部删除   5.重新安装就好了注意的是注册表 cmd -> regedit1.H

Ubuntu 网卡配置或网卡设备未托管拯救方法

Ubuntu 网络配置 debian/ubuntu管理网络连接的有两套方案,右上角的图形化的NetworkManager和配置文件的 ifup/ifdown, 如果在 /etc/network/interfaces里设置了网卡信息,那么NetworkManager就不会接管该网卡, 如果没有设置配置文件NetworkManager默认是会接管网卡的,但有时可能会出现图形化管理挂掉的情况, 图形化管理工具显示设备未托管,出现这种情况可通过设置配置文件的方案拉起网卡. 修改配置文件,使配置文件方案生

服务器加载spring配置文件报context:component-scan节点未声明解决方法

关于jboss服务器启动,spring配置文件加载报错解决方法 The matching wildcard is strict, but no declaration can be found for element 'context:component-scan'. spring配置文件代码: <!-- 自动扫描的包名 --> <context:component-scan base-package="com.regaltec.gtfhr.*,cn.tisson.*"

“Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应”解决方法

今天遇到一个问题,本地网站运行正常,而服务器上的网页打不开,返回错误信息: Timeout 时间已到.在操作完成之前超时时间已过或服务器未响应. 经过几番折腾终于找到问题所在: 原来SqlCommand对象的CommandTimeout属性的默认值为30,而我的查询语句数据库执行时间在70多以上,造成服务器未响应,设置CommandTimeout属性值为180,即3分钟,问题解决!:)

Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法

正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft LoopBack Adapter[Microsoft 环回适配器]就可以了. Microsoft 环回适配器是一种可用于在虚拟网络环境中进行测试的工具,在这样的环境中无法访问网络.另外,如果存在与网络适配器或网络适配器驱动程序的冲突,则必须使用环回适配器.可以将网络客户端.协议和其他网络配置项目绑

Microsoft.Jet.OLEDB.4.0未注册解决方法

由于64位操作系统不支持Microsoft OLE DB Provider for Jet驱动程序,也不支持更早的Microsoft Access Driver (*.mdb)方式连接.所以用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用,也就是说,如下两种连接字符串都已经无法正常工作了: "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Se

div拖拽到iframe上方 导致 缩放和拖拽的不平滑和鼠标事件未放开 解决方法

思路一:用在开始进行缩放(触发了resizable的start事件)为iframe添加z-index属性,将iframe放置在最下层. $("#draggable").resizable({ helper: "widget_resizable_helper", start: function( event, ui ) { $("#draggable").css({position:"relative","z-inde

ASP.NET WebAPI 03 返回结果

在WebAPI中HttResponseMessage作为消息返回,而在ApiController中我们经常讲四类数据作为返回值,void,object(可序列化),IHttpActionResult,HttpMessage, Void与object Void:返回状态码200,无数据 Object: 返回状态码200,数据 IHttpActionResult WebAPI为我们定义了一IHttpActionResult接口,从命名我们就可以来它是作为Action执行的返回结果. 在WebAPI总