问题标签 [xrm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dynamics-crm - Microsoft CRM 和 xRM 之间的差异
我正在浏览新的xrm.com页面,我发现它缺少一些关于其含义的具体信息。
您能否解释一下 Microsoft CRM 和 xRM 之间的主要区别是什么?它为开发人员或客户提供了哪些额外功能?
提前致谢。
linq-to-entities - 填充模型对象的最佳实践
假设我有几个模型类,例如 Person.cs、Car.cs、Manufacturer.cs,每个模型类都有 30-40 个不同数据类型的属性。这些模型必须使用基于 Guid(主键)匹配的称为“XrmContext”的基于 Linq 的框架来填充。
这样做的普通方法是手动一一填充每一列
.... 20-30 条这样的语句逐个填充每个属性。
有没有更好的方法可以定义 Linq DataSource 属性和模型属性之间的映射。
object - XRM/Dynamics CRM 2011 中 OrganizationServiceProxy 的连接/对象池
我正在编写一个使用 Early Bound 使用 XRM 2011 的 MVC 3 WebApp。这是一个面向 Internet 的应用程序,托管在与 Dynamics IIS 不同的机器上。
这当然会使 OrganizationServiceProxy 调用非常频繁,并且每次第一次点击时响应有点迟钝。
是否建议重用 OrganizationServiceProxy 连接而不是每次都创建新实例?
如果是,
- 有什么可以管理连接的,例如
- 连接池应用程序 - MS 或第三方/开源
- 或像 WCF 这样的框架(从未使用过 WCF)
- 如果我必须编写自己的代码来管理连接,推荐哪种设计模式?
很抱歉 MS 网站上的重复帖子。希望这个论坛更加活跃。
web-services - Dynamics 2011 XRM 和 Web 服务框架 - ServiceStack/WCF/OpenRasta
我正在尝试使用 ServiceStack 将 XRM 实体发布为 Web 服务,但可能由于循环/循环依赖关系而出现错误。有没有人尝试成功/失败?
我还尝试为一个简单的实体(如区域)创建一个代理类,并使用该类进行发布。
顺便说一句,创建代理类并不好玩,在VS2010中有什么快速的方法吗?
如果这不起作用,我有什么选择?
我正在寻找以下功能(最好是大部分 ServiceStack):
- 网络服务 - REST & SOAP
- 缓存
- 验证
OpenRasta 比 WCF 好吗?同样,没有 NuGet,OpenRasta 就不是一件轻而易举的事……
PS:这也在动态论坛上发布。
crm - 设置 PickList 类型的属性值时更新动态实体时出错
我已向联系人实体添加了一个自定义属性(“custom_contacttype”)。该属性是由七个值组成的选择列表类型。我正在使用针对 CRM 4.0 的 Microsoft Dynamics CRM 的高级开发人员扩展进行开发。在我设置此属性的值并调用 SaveChanges() 后,我得到“对象引用未设置为对象的实例”。错误。我已经和这个斗争了一段时间。我究竟做错了什么?下面是我的代码:
来自 CRM 服务器的跟踪日志:[2011-07-01 16:39:33.7] 进程:w3wp |组织:f827deb3-c6cc-df11-bc07-005056887b79 |线程:8 |类别:Platform.Sdk |用户:822138f1-c574- e011-9dca-005056887b79 |级别:错误 | PluginStep.Execute at PluginStep.Execute(PipelineExecutionContext context) at Pipeline.Execute(PipelineExecutionContext context) at MessageProcessor.Execute(PipelineExecutionContext context) at InternalMessageDispatcher.Execute(PipelineExecutionContext context) at ExternalMessageDispatcher.Execute(String messageName, Int32 primaryObjectTypeCode, Int32 secondaryObjectTypeCode, PropertyBag CrmServiceInternal.Update(String namespaceName, BusinessEntityBase entity, CorrelationToken correlationToken,
SdkMessageProcessingStepId 中的 Web 服务插件失败:{27DF4121-19BC-DF11-A90E-005056887B79};实体名称:联系人;阶段:10;消息名称:更新;程序集名称:AccessCRM.ChangeLogContactData,AccessCRM,版本=1.0.0.0,文化=中性,PublicKeyToken=a030c130976783ab;类名:AccessCRM.ChangeLogContactData;异常:未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例。在 AccessCRM.PluginUtilities.GetStringValueFromProperty(Property p) 在 AccessCRM.ChangeLogContactData.Execute(IPluginExecutionContext context) 在 Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context) 。[2011-07-01 16:39:33.7] 进程:w3wp |组织:f827deb3-c6cc-df11-bc07-005056887b79 |线程:8 |类别:Platform.Sdk |用户:822138f1-c574-e011-9dca-005056887b79 |级别:错误 | PluginExecutionExceptionHandler.Handle at PluginExecutionExceptionHandler.Handle(Stream from, Stream to, Exception exception) at CompositeSoapExtensionExceptionHandler.Handle(Stream to, Stream from, Exception exception) at CrmAuthenticationSoapExtensionBase.ProcessMessage(SoapMessage message) at SoapMessage.RunExtensions(SoapExtension[] extensions, Boolean throwOnException) 在 SoapServerProtocol.WriteException(Exception e, Stream outputStream) 在 WebServiceHandler.WriteException(Exception e) 在 WebServiceHandler.Invoke() 在 WebServiceHandler.CoreProcessRequest() 在 CallHandlerExecutionStep.System.Web.HttpApplication 在 SyncSessionlessHandler.ProcessRequest(HttpContext context)。 HttpApplication 中的 IExecutionStep.Execute()。ApplicationStepManager.ResumeSteps(异常错误)在 HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext 上下文,AsyncCallback cb,对象 extraData)在 HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)在 HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest WR) 在 ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) CrmSoapExtension 检测到 InvalidPluginExecutionException: System.Web.Services.Protocols.SoapException: 服务器无法处理请求。---> Microsoft.Crm.Sdk.InvalidPluginExecutionException:对象引用未设置为对象的实例。---> System.NullReferenceException:对象引用未设置为对象的实例。在 AccessCRM.PluginUtilities。
dynamics-crm - CrmDataContext.GetEntities 查询 - 错误:0x80040204 - 用户身份验证无效
我在 Active Directory 中创建了域用户“jsmith”,并将该域帐户添加为 Dynamics CRM 中的用户。我的目标是使用组织的 PrivUserGroup 中的服务帐户执行代码,同时模拟“jsmith”。我通过传递一个 CrmConnection 实例来实例化 CrmDataContext。在调用 CrmConnection 的构造函数时,我在应用程序配置文件中将连接字符串的名称传递给它,然后将 ImpersonatedUser 属性设置为“jsmith”的系统用户 ID。需要注意的一点是,我正在使用控制台应用程序来运行它。在下面查看我的代码:
app.config 中的连接字符串:
CrmDataContext 和 GetEntities 代码:
尝试使用与我在运行测试时登录的 AD 域帐户绑定的系统用户 ID 进行模拟时,我没有任何问题。我得到的结果很好,所以我知道用于执行代码的服务帐户没有问题。我什至将“jsmith”分配给了同一个业务部门,并让他担任与我相同的角色(即系统管理员),但我仍然得到无效的用户身份验证。我可能会错过什么。以下是服务器上跟踪文件中的错误信息。在下面的跟踪信息中,确实突出的是第一行:“[2011-07-22 18:14:08.0] Process: w3wp |Organization:f827deb3-c6cc-df11-bc07-005056887b79 |Thread: 6 |类别:异常 |用户:822138f1-c574-e011-9dca-005056887b79|级别:错误 | CrmException..ctor*”。正在显示的用户 id 是我的系统用户 id。它似乎会显示连接字符串中的服务帐户的 id 或被模拟的 id 'jblow'。任何想法都会不胜感激。
更新 7/25:我决定通过使用 CrmDataContext 进行调用来执行测试,其中 CrmConnection.ImpersonatedUser 设置为 jsmith id。然后,我使用老式方法进行了另一个调用(完全相同的查询),您在其中构建 QueryExpression 并将其传递到 CrmService,其中 CrmAuthenticationToken 的 CallerId 属性设置为 jsmith 的 id。使用 CrmDataContext 失败并出现“无效的用户身份验证”错误,但使用 CrmService 和 QueryExpression 的另一个调用运行良好。我使用 fiddler 查看每个调用的原始 http 请求。两个调用的原始请求完全相同,除了一件事......请求的授权标头中的协商令牌。我打了两个电话,一个接一个,在我的控制台应用程序中,它们会产生不同的协商令牌。这一定是问题,虽然我不知道如何解决。似乎这是高级开发人员扩展中的一个错误。以下是两者的原始http。
c# - Dynamics CRM:空值和 GetPropertyValue()
假设我有以下代码:
在上面的代码中,如果 Dynamics 中的汇率为空,我将取回不是我想要的小数的默认值(我想知道它是否为空)。如果我要使用:
如果它在 Dynamics 中为空,是否应该带回一个空值?我在其他场景中尝试过,它总是发回值类型的默认值。我怎样才能得到空值,以便我可以确保我的 dto 对象属性为空?
c# - 如何在 CRM2011 上分享 XRM 服务?
我是 CRM 2011 的新手。如何使用 XRM 服务在 CRM2011 上共享(在团队之间创建共享记录联系人)?我在 SDK 上找不到,也不知道 MSCRM db 上的共享记录在哪里。
caching - 如何禁用 CRM 2011 Xrm 缓存?
crm 2011 缓存有问题。我不需要它,但我不知道如何禁用它。
首先我生成这个:
CrmSvcUtil.exe /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration" /out:Outputcs /url:https://crmaddress/XRMServices/2011/Organization.svc /username:usr/密码:pw /namespace:ns/serviceContextName:XrmServiceContext
然后我有以下代码:
我应该怎么做才能关闭缓存?
c# - FetchExpression 结果似乎被缓存了,我该如何防止这种情况?
我在 Windows 服务中使用FetchExpression
反对RetrieveMultiple
操作CrmOrganizationServiceContext
来从队列中获取和处理项目。
第一次运行时,它将获取要正确处理的项目。在使用相同CrmOrganizationServiceContext
实例的后续调用中,它始终检索零个实体而不会引发错误。我添加了新实体并重新激活了应该使用 FetchXml 获取的现有实体,但它们不会被检索到。
一旦我重新启动我的服务,它就会创建一个新的实例CrmOrganizationServiceContext
并获取新项目。
我在这里做错了什么?
根据请求获取 Xml,唯一的自定义是限制返回项目数量的 count 属性(因为这是一个队列处理器)