У меня есть функция запуска служебной шины v.2, которая при попытке запуска выдает следующее исключение:
System.InvalidOperationException
HResult=0x80131509
Message=The host has not yet started.
Source=Microsoft.Azure.WebJobs.Host
StackTrace:
at Microsoft.Azure.WebJobs.JobHost.StopAsync() in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\JobHost.cs:line 121
at Microsoft.Azure.WebJobs.Hosting.JobHostService.StopAsync(CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\JobHostService.cs:line 32
at Microsoft.Extensions.Hosting.Internal.Host.<StopAsync>d__10.MoveNext()
Я искал, но не могу найти никого с похожей проблемой (иисправить).Я использую VS 15.8.7 со всеми обновленными расширениями и пакетами.
Вот как выглядит моя функция:
[FunctionName("ServiceBusListenerFunction")]
public static void Run([ServiceBusTrigger("myTopic", "MySubscription", Connection = "MyConnection")]string mySbMsg, ILogger log)
{
log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
}
А вот мой local.settings.json:
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"MyConnection": "UseDevelopmentStorage=true",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
},
"Host": {
"LocalHttpPort": 7077
}
}
Я также попытался сделать следующее в файле launchSettings.json, но это не помогло:
{
"profiles": {
"MyProject": {
"commandName": "Project",
"executablePath": "C:\\Users\\[myUserName\\AppData\\Roaming\\npm\\node_modules\\azure-functions-core-tools\\bin\\func.dll",
"commandLineArgs": "host start --port 7077"
}
}
}
У меня запущен Service Bus Explorer, и я создал вышеупомянутую тему и подписку на нее,Проект, в котором расположены функции, построен на основе .NET Standard 2.0.
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения или вам нужна дополнительная информация.
РЕДАКТИРОВАТЬ: Я взял красный текст исключения, который ненадолго появляется в окне консоли, прежде чем он закроется (что происходит непосредственно перед тем, как я получу вышеупомянутое исключение), и он гласит:
Host initialized
A host error has occurred
System.Private.Uri: Value cannot be null
Parameter name: uriString
Stopping job host
При поиске я обнаружил это , но, похоже, мне не нужно менять атрибут, чтобы это работало.
Заранее благодарен за любую помощь.