Sharepoint 将持久性错误传递回用户的外部列表和外部内容类型

Sharepoint 将持久性错误传递回用户的外部列表和外部内容类型,sharepoint,sharepoint-2010,bcs,sharepoint2010-bcs,Sharepoint,Sharepoint 2010,Bcs,Sharepoint2010 Bcs,我在Sharepoint 2010安装中创建了一个外部内容类型,它通过WCF服务从远程数据库获取数据。我已经毫无问题地执行了所有CRUD操作 我在VisualStudio2010中创建了一个列表实例,并向该实例添加了一个自定义新表单,因此当用户在浏览列表时选择新项目时,使用的是我的自定义表单。这很有效。但是,当用户输入新项目的数据并按下Save键时,我需要能够将外部系统可能产生的任何错误返回给用户 我不知道如何在自定义表单的代码隐藏中获取BDCModel的事件或句柄,以便在WCF服务超时或远程数

我在Sharepoint 2010安装中创建了一个外部内容类型,它通过WCF服务从远程数据库获取数据。我已经毫无问题地执行了所有CRUD操作

我在VisualStudio2010中创建了一个列表实例,并向该实例添加了一个自定义新表单,因此当用户在浏览列表时选择新项目时,使用的是我的自定义表单。这很有效。但是,当用户输入新项目的数据并按下Save键时,我需要能够将外部系统可能产生的任何错误返回给用户

我不知道如何在自定义表单的代码隐藏中获取BDCModel的事件或句柄,以便在WCF服务超时或远程数据库因某种原因不可用时发回错误

治理已声明,我们不允许使用Sharepoint Designer或InfoPath表单,因为我必须在Visual Studio中执行此操作

是否有人可以指出一些教程,用于截取BDCModel创建和更新方法返回的错误,并通过自定义表单的代码将其发回给用户,或者我是否必须使用覆盖保存的完全自定义表单自己实现整个保存过程


我宁愿不必那样做。我还被告知,我不能使用自定义Web部件在客户端对象模型中实现这一点,除非绝对没有办法使用OOTB外部列表和自定义表单来解决这一问题。

它是权限(始终是权限)-后端用户(可能是应用程序池帐户)没有权限-请检查系统应用程序事件日志,然后检查安全日志。SharePoint ULS日志也可能有帮助。

权限似乎不是问题。我在代码隐藏或bdcmodel代码中找不到可以将持久性错误冒泡回用户的位置。所有的CRUD操作都可以工作,但是当我故意引入错误时,比如让WCF服务离线,我无法向用户返回一条消息,说明联系该服务时出现问题。我所能做的就是抛出一个异常并得到一个丑陋的错误窗口。我正在寻找一种方法来优雅地处理从外部系统抛出的异常。不幸的是,这可能是真的-BDC没有给我们太多的陷阱。但是,您可以添加代码,将消息推送到ULS日志中,这至少可以为您提供一些追溯的方式。有趣的是,在web门户中,他们会添加这种BCS技术,但不会让开发人员对生命周期有任何了解,因此您可以点击并跟踪正在发生的事情。这就是我所期望的答案,尽管我似乎在我所看到的每一个地方都发现,除非你愿意构建一个自定义的Web部件,否则你无法真正“处理”错误。我正试图收集足够的信息,以便我能够将其提交给治理部门,并向他们证明它实际上无法完成,这是一个痛苦=)。