我正在通过它的 OData Web Api 调用 Dynamics 365,我想知道我可以使用哪个客户端库来简化编程。
我的用例是我主要必须与一个实体合作:联系人。我想检索一些数据、编辑数据并创建新联系人。我正在以类似方式使用的另一种实体类型是地址。一个联系人可以有多个地址。
当前,我使用普通的 HTTP 客户端类与 Dynamics 进行通信。
我正在为 Linux 主机开发 .NET Core 应用程序,因此我无法使用 Dynamics CRM SDK(SOAP 端点)。
我的问题是您的建议是:我应该使用Microsoft.OData.Client还是Simple.OData.Client?或者其他图书馆?
我尝试使用 Microsoft.OData.Client 并根据这篇文章生成了一个客户端(代理/包装器):https : //blogs.msdn.microsoft.com/odatateam/2014/03/11/tutorial-sample-how-to -use-odata-client-code-generator-to-generate-client-side-proxy-class/
问题在于它会生成一个 .cs 文件,文件大小为 86 MB。也许以后使用这个客户端可能是一个解决方案,但在我们的项目中拥有如此大的源文件似乎是错误的。我想避免它,但我没有找到生成它的选项如果我不小心打开它,Visual Studio 崩溃,智能感知有时会变慢,如果 ReSharper 被打开 VS 会变慢,等等......
我检查了 Simple.OData.Client 并且似乎有很好的文档和 API。例如:https : //github.com/object/Simple.OData.Client/wiki/Retrieving-data
对于 Microsoft.OData.Client 我没有找到如何在不生成整个客户端的情况下以键入方式使用它的文档。那可能吗?我只发现了这个,其中使用了生成的上下文:http : //odata.github.io/odata.net/v6/#04-01-basic-crud-operations
我认为使用 Simple.OData.Client 似乎是一个更好的选择,但我更喜欢使用 Microsoft 库。你有什么建议吗?
是否可以通过Dynamics SDK从.NET Core应用程序连接到Dynamics CRM 365?还是应该使用Web Api?
我读过这是可能的,但是当我从.NET Core类库引用SDK并尝试连接时,出现错误:
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Web.Services..
Run Code Online (Sandbox Code Playgroud)
似乎.NET Core不支持此DLL: 如何在Asp.net Core中使用soap Web服务?
我的代码是这样的:
new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
Run Code Online (Sandbox Code Playgroud)
我可以成功地使其从.NET Framework项目运行。
有没有办法用玻璃映射器检查Sitecore项目的模板ID?
我的业务逻辑将执行以下操作:
我想使用SitecoreContext这里描述的类:http://www.glass.lu/Mapper/Sc/Documentation/ISitecoreContext
我的代码看起来像这样:
var context = new SitecoreContext();
var currentItem = context.GetCurrentItem<MyModel>();
if(HasCorrectTemplate(currentItem))
{
return currentItem;
}
return GetFallbackItem();
Run Code Online (Sandbox Code Playgroud)
我真的不想为此自定义Glass Mapper,因为在我看来它应该是检查模板ID的基本功能.
我只能想到使用某种棘手的查询,我没有找到关于其他可能性的文档.
我开始熟悉SOLR。
我想使用 SOLR 对多种实体进行全文搜索。我不想为每种不同类型的实体创建一个文档。我不希望能够搜索特定字段。我只对指定字符串在任何项目中的任何位置感兴趣。
例如,在数据库术语中,我有一个表 News 和一个表 Employee,我想搜索“apple”这个词,我不介意它在哪个字段中,我只想从记录中取回数据库 ID包含它。
这可能是一个解决方案,我使用的是这样的 SOLR 模式:
<fields>
<field name="id" type="string" indexed="true" stored="true"/>
<field name="content" type="text" indexed="true" stored="false"/>
</fields>
Run Code Online (Sandbox Code Playgroud)
所以,我只需要一个 ID 和内容。我将所有数据,我希望能够在其中搜索到一个“内容”字段。当我搜索一些单词时,它会在“id”和“content”中查找。
这是一个好主意吗?任何性能或设计问题?
谢谢,塔马斯
我在使用 Sitecore MVC 3 渲染和 GZip 内容压缩时遇到问题。
我关注了 John West 的博客文章,如何在 Sitecore 中启用 MVC。
到目前为止,它运行良好,页面已呈现。但是,如果我在 IIS 上运行该页面并启用内容压缩 (gzip),则该页面不会加载。我在 Firefox 中收到“内容编码错误”。其他浏览器显示各种错误信息。
有人遇到过类似的问题吗?你知道可能是什么问题吗?我应该从哪里开始检查?我必须在页面上使用压缩。
我们正在使用 Sitecore 6,更新 5:“Sitecore 6.6.0 rev. 130404” 这可能是 Sitecore 的错误吗?
编辑 1:我还在 Sitecore 实例上运行 ASP.NET WebForms,它也可以使用 gzip 压缩正常工作。
编辑 2:我启用了“dynamicCompressionBeforeCache”。我的 web.config 与 gzip 配置相关:
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" …Run Code Online (Sandbox Code Playgroud) .net-core ×2
dynamics-crm ×2
sitecore ×2
asp.net-mvc ×1
c# ×1
dynamics-365 ×1
glass-mapper ×1
gzip ×1
odata ×1
schema ×1
sitecore6 ×1
solr ×1