小编Bik*_*ram的帖子

.Net Core 不支持 WSHttpBinding

将 WSHttpBinding 移至 BasicHttpBinding...

问题陈述:.Net core 不支持WSHttpBinding 。

当我的应用程序位于 .Net 4.6 中时,我使用 WSHttpBinding 通过以下代码创建与 WCF 的连接。

var binding = new WSHttpBinding(SecurityMode.TransportWithMessageCredential);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
binding.Security.Message.ClientCredentialType = MessageCredentialType.Certificate;
binding.Security.Message.EstablishSecurityContext = false;
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var cert = store.Certificates.Find(X509FindType.FindByThumbprint, "Thumprint", true)[0];
result = new MyClient(binding, address);
client = result as ClientBase<TInterface>;                
client.ClientCredentials.ClientCertificate.Certificate = cert;
Run Code Online (Sandbox Code Playgroud)

现在我正在将我的应用程序迁移到.Net core,我发现不支持WSHttpBinding。我计划使用BasicHttpBinding并进行以下更改:

    var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportWithMessageCredential);
    binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
    binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate;
Run Code Online (Sandbox Code Playgroud)

对于BasicHttpBinding,没有提供以下代码:

 binding.Security.Message.EstablishSecurityContext = false;//This …
Run Code Online (Sandbox Code Playgroud)

wcf .net-core

9
推荐指数
2
解决办法
6332
查看次数

源链接将从互联网下载

我有一个现有的 Azure 函数(版本 1 V1)。我想将它们迁移到版本 2 (V2)。Azure Function V1 (.NET 4.61 / WebAPI 2)。Azure Function V2 (ASP.NET Core / MVC 6)。

我创建了 AF-V2 并尝试从 AF-V2 调用(用 .NET 4.61 编写的类库 .dll):它构建成功。

[FunctionName("MyFunctionV2")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = "MyFunctionV2")] HttpRequest req,
        ILogger log)
    {
        MyDllClass.InitializeSomething(parameter1, parameter2);//exception encountered here.
        //my codes
Run Code Online (Sandbox Code Playgroud)

当我调试代码时,它( MyDllClass.InitializeSomething(parameter1, parameter2); ) 遇到以下弹出窗口,说明源链接将从 Internet 下载在此处输入图片说明

我有几个相关的问题:

  1. 从互联网上下载的源链接究竟是什么意思?
  2. 如何从 AF-V2 调用 .NET 4.61 classLibrary dll?
  3. 我坚持用谷歌搜索确切的问题,非常感谢您的帮助。

azure .net-core azure-functions

4
推荐指数
1
解决办法
1690
查看次数

重试请求以“内容长度不匹配”结束

我的问题是这样的:

我有一个 Azure APIM,我创建了一个 API 并添加了后端重试策略,如下所示。

<backend>
    <retry condition="@("{{Transient-ErrorCode}}".Contains(Convert.ToString(context.Response.StatusCode)))" count="3" interval="5" first-fast-retry="false">
        <forward-request />
    </retry>
</backend>
Run Code Online (Sandbox Code Playgroud)

服务器第一次返回成功(状态码:200),当它启动重试时遇到以下情况(我也在重试成功,为了测试重试工作正常。)。

forward-request (1.326 ms)
{
"messages": [
    "Content length mismatch",
    "Content length mismatch"
    ]
}
Run Code Online (Sandbox Code Playgroud)

请帮助你的想法/经验。

azure azure-api-management retrypolicy

0
推荐指数
1
解决办法
925
查看次数