gpt4 book ai didi

c# - Azure WebJobs QueueTrigger 未触发

转载 作者:太空狗 更新时间:2023-10-29 20:43:49 26 4
gpt4 key购买 nike

我正在尝试查找有关应从 Azure 存储队列触发的 Azure WebJobs QueueTrigger 方法的错误。

我已经阅读了一些文档(如博客文章/msdn 文章中)。但我还是不太清楚。

主要问题/误解方面:

Azure 存储控制台应用 App.config 或 Windows Azure 配置(门户)的连接字符串的名称应该是什么。到目前为止,我在两个地方都设置了以下名称。

  • AzureJobsStorage
  • AzureWebJobsStorage
  • AzureJobsRuntime
  • AzureJobs仪表板
  • AzureJobsData

这是我的 WebJobs 控制台应用程序代码。

static void Main()
{
JobHost host = new JobHost();
host.RunAndBlock();
}

public static void CreateLeague([QueueTrigger("temp")] string msg)
{
var task = JsonConvert.DeserializeObject<QueueTask>(msg);

if (task.TaskType == QueueTask.TaskTypes.Pdf)
RenderPdf(task.Id);
}

此控制台应用程序持续在我的 Azure 网站上运行。

我可以访问其“调试”页面,在其中可以切换输出,并且我看到它已启动/正在运行。

我添加队列的代码(来 self 的 ASP.NET MVC 应用程序):

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("temp");
queue.CreateIfNotExists();
Common.QueueTask task = new Common.QueueTask();
task.TaskType = Common.QueueTask.TaskTypes.Pdf;
task.Id = p.Id;
CloudQueueMessage msg = new CloudQueueMessage(JsonConvert.SerializeObject(task) );
queue.AddMessage(msg);

执行此代码,并将队列添加到我的存储帐户中。但他们没有“出队”或从 WebJobs 中读取。

最佳答案

嗯,WebJobs 类必须是公共(public)的。

using Microsoft.Azure.WebJobs;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using Newtonsoft.Json;
using Proceed.Common;
using System;
using System.Configuration;
using System.IO;

public class WebJobsTask {
public static void Main()
{
JobHost host = new JobHost();
host.RunAndBlock();
}

public static void CreateLeague([QueueTrigger("temp")] string msg)
{
var task = JsonConvert.DeserializeObject<QueueTask>(msg);

if (task.TaskType == QueueTask.TaskTypes.Pdf)
RenderPdf(task.Id);
}
}

还找到了探索我的队列的快速方法:https://azurestorageexplorer.codeplex.com/ .

关于c# - Azure WebJobs QueueTrigger 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26408804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com