21V 配 application registration

Posted TheMiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21V 配 application registration相关的知识,希望对你有一定的参考价值。

AAD中给Power Platform配 application registration是app user必备的东西。

但是21V中的API permission不能像global中直接选D365. 所以要搜dataverse

 

如何添加“Content-Type = application/json;v=2.0”,包括使用 HttpClient 进行版本控制?

【中文标题】如何添加“Content-Type = application/json;v=2.0”,包括使用 HttpClient 进行版本控制?【英文标题】:How to add "Content-Type = application/json;v=2.0" including versioning with HttpClient? 【发布时间】:2019-09-05 04:51:41 【问题描述】:

很抱歉这样问这个问题。我可以给你一种我希望你为我编写代码的感觉。我已经花了一天时间编写代码以发送包含带有版本控制的标头的 http 请求:

对于版本控制,我使用来自 Microsoft/aspnet-api-versioning 项目的 versioning by Media Type。

我的 API 部分工作正常,我可以通过 Postman 请求正确的版本:

您看到“Content-Type = application/json;v=2.0”这一行了吗?在邮递员上没问题。使用 C# 中的 HttpClient 是不可能的。

让我在这里复制所有我尝试过的错误解决方案。每次尝试新解决方案时,我都会编辑此问题。方便起见,但为了更清楚,我将复制粘贴图像:

解决方案 1: 带有 new Content = ... 的扩展方法

解决方案 1B: 来自初学者Tejas

解决方案 1C: 来自 BeginnerTejas,但现在使用 MediaTypeWithQualityHeaderValue

解决方案 2: 带有 request.Headers.Add(...) 的扩展方法

解决方案 3: BaseProxy 与 Client.DefaultRequestHeaders.TryAddWithoutValidation(...) 看来我无法添加任何“Content-Type”

解决方案 4: BaseProxy 与 Client.DefaultRequestHeaders.Accept.Add(...)

解决方案 5: request.Headers.TryAddWithoutValidation("Content-Type", "application/json");

【问题讨论】:

你试过ApiVersion属性吗? ApiVersion 属性用于服务器端。是的,我所有的 API 都使用 [ControllerName("Client")] 然后 [ApiVersion("2.0")] 类似的设置。同样,服务器工作正常。我可以从 Postman 发送我的所有请求。问题是如何使用 HttpClient 添加标头? 有什么解决办法吗? 【参考方案1】:

你可以试试这个吗?

request.Content.Headers.ContentType = new MediaTypeWithQualityHeaderValue( "application/json" )

    Parameters =  new NameValueHeaderValue( "v", "2.0" ) 
;

【讨论】:

System.NullReferenceException: '对象引用未设置为对象的实例。'根据要求。内容。我可以解决这个问题,但我认为这是我的解决方案 1. 已经过测试。如果您发现任何差异,您可以交叉检查吗? 您在解决方案 2 中添加此代码的方法正确吗? 实际上是解决方案 1。【参考方案2】:

当您不发送任何内容时,您不能(或至少不应该)使用Content-Type。对GETDELETE 请求使用Accept 标头,如下所示:

request.Headers.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("application/json; v=2.0"));

如果两个标头都指定了Content-Type,则在Accept 之前考虑。如果Accept 为一个版本指定了多种媒体类型,则匹配具有最高质量 的媒体类型。不支持每个请求混合版本(例如发送 2.0,但接收 1.0)。目前也不支持使用版本协商多种媒体类型(除了质量)。

【讨论】:

以上是关于21V 配 application registration的主要内容,如果未能解决你的问题,请参考以下文章

Non-planar Infrared-Visible Registration for Uncalibrated Stereo Pairs简介

Image registration methods: a survey

ANTsPy医学图像配准

Dynamics 365Online 如何在XrmToolBox中连接21v的Instance

Azure China Application Gateway 性能监控

21V版Office365 管理界面更新