我希望能够在实际将Azure WebJobs SDK项目发布到Azure之前在本地测试它.
如果我创建一个全新的Azure Web Jobs项目,我会得到一些如下所示的代码:
Program.cs中:
// To learn more about Microsoft Azure WebJobs SDK, please see http://go.microsoft.com/fwlink/?LinkID=320976 class Program { // Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage static void Main() { var host = new JobHost(); // The following code ensures that the WebJob will be running continuously host.RunAndBlock(); } }
Functions.cs:
public class Functions { // This function will get triggered/executed when a new message is written // on an Azure Queue called queue. public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log) { log.WriteLine(message); } }
我想绕过测试QueueTrigger
函数是否正常工作,但我甚至无法做到这一点,因为host.RunAndBlock();
我得到以下异常:
mscorlib.dll中发生了未处理的"System.InvalidOperationException"类型异常
其他信息:Microsoft Azure WebJobs SDK仪表板连接字符串缺失或为空.可以通过以下方式设置Microsoft Azure存储帐户连接字符串:
按以下格式在.config文件的connectionStrings部分中设置名为"AzureWebJobsDashboard"的连接字符串,或者
设置名为"AzureWebJobsDashboard"的环境变量,或
设置JobHostConfiguration的相应属性.
我运行了存储模拟器,并设置了Azure AzureWebJobsDashboard连接字符串,如下所示:
但是,当我这样做时,我得到了一个不同的错误
mscorlib.dll中发生了未处理的"System.InvalidOperationException"类型异常
其他信息:无法验证Microsoft Azure WebJobs SDK仪表板帐户.不支持Microsoft Azure存储模拟器,请使用Microsoft Azure中托管的Microsoft Azure存储帐户.
有没有办法测试我在本地使用WebJobs SDK?
WebJobs 2.0现在可以使用开发存储(我正在使用v2.0.0-beta2).
请注意,一般的延迟和特别是Blob触发器目前远远好于生产中的延迟.小心设计.