Azure WebJobs ServiceBus returns Exception: found 2 DNS claims in authorization context

azureazure-servicebus-queuesazure-webjobsazure-webjobssdkazureservicebus

I'm trying to read a message from an Azure ServiceBus queue using an Azure WebJob but it's throwing and exception:

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

I've set the correct connection strings named "AzureWebJobsServiceBus", "AzureWebJobsDashboard" and "AzureWebJobsStorage"

The WebJob Program code has been updated to use JobHostConfiguration:

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

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

And the actual Job method

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

}

I can successfully create and write to the queue via a separate console application.

But when I run the webjob application, it throws that exception.

Any ideas?

EDIT: Using .net 4.6.1

Best Answer

The answer marked as solution, is not the solution, it is a botched job. The solution to use it in .Net Framework 4.6.1 is to add in the rutime block in App.config:

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

Read this article Mitigation: X509CertificiateClaimSet.FindClaims Method

Very IMPORTANT for now Azure WebApps / WebJob etc, doesn't support 4.6.1 I will note here when (said at jan 21, 2016).

It means, that you can develop a web job application with 4.6.1, but when you push it to Azure, you can see exceptions like Job failed due to exit code -2146232576

Related Topic