web-dev-qa-db-ja.com

Azure WebJobs ServiceBusが例外を返す:承認コンテキストで2つのDNSクレームが見つかりました

Azure WebJobを使用してAzure ServiceBusキューからメッセージを読み込もうとしていますが、例外がスローされます。

Unhandled Exception: System.InvalidOperationException: Found 2 DNS claims in authorization context.

「AzureWebJobsServiceBus」、「AzureWebJobsDashboard」、「AzureWebJobsStorage」という名前の正しい接続文字列を設定しました

WebHostプログラムのコードはJobHostConfigurationを使用するように更新されました。

class Program
{
    static void Main()
    {
        var config = new JobHostConfiguration();
        config.UseServiceBus();

        var Host = new JobHost(config);
        Host.RunAndBlock();
    }
}

そして実際のJobメソッド

public class Functions
{
    public async static Task ServiceBusResizeRequest(
         [ServiceBusTrigger("blah")] string message,             
         TextWriter log
         )
    {            
        await log.WriteLineAsync("got message " + message);
    }

}

別のコンソールアプリケーションを使用して、キューを正常に作成して書き込むことができます。

しかし、webjobアプリケーションを実行すると、その例外がスローされます。

何か案は?

編集:.net 4.6.1の使用

27
sf.

1月29日、MicrosoftはNuGetパッケージのバージョン3.1.3 WindowsAzure.ServiceBusをリリースしました。

リリースノートから:

•一般:.Net 4.6.1+互換性修正。カスタムDNS IdentityVerifierを修正して、WIFから返された複数のDNSクレームを尊重する

パッケージをアップグレードすることで問題は解決しました。

18
lsmeby

ソリューションとしてマークされた答えはソリューションではなく、失敗した仕事です。 .Net Framework 4.6.1でそれを使用するソリューションは、App.configのrutimeブロックを追加することです。

<AppContextSwitchOverrides value="Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate=true" />

この記事を読む 緩和:X509CertificiateClaimSet.FindClaimsメソッド

非常に[〜#〜]重要[〜#〜]現在のところ、Azure WebApps/WebJobなどは4.6.1をサポートしていません。 (2016年1月21日で述べた)。

つまり、4.6.1でWebジョブアプリケーションを開発できますが、Azureにプッシュすると、Job failed due to exit code -2146232576のような例外が表示されます。

38
Alberto León

上記の this answer で概説されているように、以下のスニペットはトリックを行います

<runtime>
    ...
    <AppContextSwitchOverrides value="Switch.System.DisableMultipleDNSEntriesInSANCertificate=true" />
    ...
<runtime>

[〜#〜] but [〜#〜]正しいprojectソリューションで! AzureコードとAzure参照を含むプロジェクトにそれを追加します。

2
participant

今日、私はこの問題に遭遇し、それについて何も知りませんでした。最後に、私が使用しているすべてのAzure nugetパッケージ(webjobs、servicebusなど)とBOOMをアップグレードすることにしました。できます。うまくいけば、将来この問題が発生した場合に役立ちます

1
Hung Cao

.net 4.6.1から4.6にダウングレードすると、問題が発生しないようです。

1
sf.

マイクロソフトは、この問題を修正するための新しいパッケージ(新しい名前)をリリースしました。そう ...

  • Microsoft.AspNet.SignalR.ServiceBusパッケージを削除し、
  • 代わりにMicrosoft.AspNet.SignalR.ServiceBus3パッケージをインストールし、
  • WindowsAzure.ServiceBusパッケージをアップグレードします。

詳細はこちら: https://github.com/SignalR/SignalR/issues/3548#issuecomment-296326048

1
Josh M.

.NET Frameworkを4.5.2から4.7に更新した後、私は失敗し始めました。修正するために行ったのは、Nugetパッケージを更新することだけでしたWindowsAzure.ServiceBusを5.2.0に

0
Bruno Henn