C# Azure WebJobs SDK和Emulator-触发器不工作
我正在尝试将azure SDK从v1更新到v3,并将其连接到azure存储模拟器进行测试;使用控制台应用程序和.NET Framework 它似乎不喜欢以前工作的任何触发器,错误中的“SomeFunction”是一个带有超时的简单QueueTrigger 异常:Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:“错误索引方法”*.SomeFunction” 内部异常:InvalidOperationException:未配置存储帐户“存储”C# Azure WebJobs SDK和Emulator-触发器不工作,c#,azure,azure-storage,azure-webjobs,azure-sdk-.net,C#,Azure,Azure Storage,Azure Webjobs,Azure Sdk .net,我正在尝试将azure SDK从v1更新到v3,并将其连接到azure存储模拟器进行测试;使用控制台应用程序和.NET Framework 它似乎不喜欢以前工作的任何触发器,错误中的“SomeFunction”是一个带有超时的简单QueueTrigger 异常:Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:“错误索引方法”*.SomeFunction” 内部异常:InvalidOperationException:
[Timeout("00:30:00")]
public static async Task SomeFunction([QueueTrigger("queue")] CloudQueueMessage message, CancellationToken cancellationToken)
{
// do stuff
}
app.config:
<connectionStrings>
<add name="AzureWebJobsDashboard" connectionString="AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;" />
<add name="AzureWebJobsStorage" connectionString="AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;DefaultEndpointsProtocol=http;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;" />
</connectionStrings>
<appSettings>
<add key="StorageConnectionString" value="UseDevelopmentStorage=true" />
<add key="AzureQueueName" value="queue" />
</appSettings>
1。使用appSettings.json
Microsoft.Azure.WebJobs版本3不再配置app.config
文件,而是配置appSettings.json
文件。将其放置在应用程序的根目录中,并确保appSettings.json文件的“复制到输出目录”属性设置为“如果较新,则复制”或“始终复制”,或者直接使用“始终”或“保留最新”将其添加到.csproj
文件中:
生产中
有关在版本3中配置的更多信息,请参阅。尽管它可能与您使用的.NET Framework有些不同。这解决了我的问题,谢谢,appSettings.json是.NET核心方法吗?奇怪的app.config已被删除。这一定是我见过的关于配置azure存储的最有用的东西。你到底是怎么搞砸的?帮了大忙!
<Project ...>
...
<ItemGroup>
<None Include="appSettings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
...
</Project>
{
"ConnectionStrings": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true"
}
}
{
"ConnectionStrings": {
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=key;..."
}
}