【发布时间】:2015-02-10 01:03:56
【问题描述】:
我在我的帐户插件中获得了这段代码,该代码以前可以使用,但现在一直存在这个有线问题。
它试图做的是,当帐户更新时,也更新主要联系人。
ColumnSet contactCols = new ColumnSet(new string[] { "firstname"});
Entity contact = orgService.Retrieve("contact", contactId, contactCols);
tracer.Trace("firstname is " + contact["firstname"]);
contact["firstname"] = DateTime.Now.ToString();
orgService.Update(contact);
Retrieve() 有效,但 Update() 会抛出以下异常:
Unhandled Exception:
Microsoft.Xrm.Sdk.InvalidPluginExecutionException:
System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]:
System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]:
System.NullReferenceException:
Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #BF42D86C (Fault Detail is equal to Microsoft.Xrm.Sdk.OrganizationServiceFault). (Fault Detail is equal to Microsoft.Xrm.Sdk.OrganizationServiceFault).
at CRMSyncPlugin.SyncEntityClass.Execute(IServiceProvider serviceProvider)
at Microsoft.Crm.Asynchronous.V5ProxyPlugin.Execute(IServiceProvider serviceProvider)
at Microsoft.Crm.Asynchronous.EventOperation.InvokePlugin(AsyncExecutionContext context, IPlugin pluginInstance)
它说 NullReferenceException,我只是想不通什么是 null。
================================================ ===========
在尝试了@Nicknow 的建议后,仍然是同样的错误。 这是我从跟踪中得到的:
Retrieving Contact: 048f9564-81b4-e311-a27c-0026553e0f7c
Retrieved Contact
firstname is John
检索成功,只是更新失败。谢谢
【问题讨论】:
-
首先,您确定联系人记录作为
firstname的值返回吗?如果没有,你会得到一个例外。tracer.Trace("firstname is " + contact["firstname"]);是否正在写入跟踪信息?你能发布所有的ErrorLog文件吗?您可以连接 Visual Studio 调试器并捕获异常吗?这会告诉你行和空引用。 -
请显示您的异常的全文。您是否收到跟踪日志?
-
嗨@Siddique Mahsud,上面是异常的全文,是的,我收到了跟踪日志,成功收到名字,只是更新失败。谢谢
标签: dynamics-crm-2011 crm