标签: azure-webjobs

我应该如何在ASP.NET 4中执行长时间运行的任务?

我正在使用.NET 4构建一个网站.有很多MSDN文章可追溯到2003年,关于使用Thread对象2007,使用.NET 2中的异步页面,但这都非常陈旧.我知道.NET 4给我们带来了Task类,有些人模糊地警告不要将它用于此目的.

所以我问你,在ASP.NET 4中的IIS下运行后台/异步工作的大约2011年的"首选"方法是什么?关于直接使用Thread/Task有什么警告吗?Async = true还在流行吗?

编辑:好的,好的,从答案中可以清楚地看到,如果可以,我应该提供服务.但是在webapp中执行它的优势非常明显,尤其是更容易部署/重新部署.假设这个过程是安全崩溃的,那么,如果我在IIS中做这个,那么最好的方法是什么?

asp.net iis asynchronous asp.net-4.0 azure-webjobs

10
推荐指数
1
解决办法
5445
查看次数

如何将异步函数写入服务总线队列?

使用Azure WebJobs SDK,我想创建一个异步函数,它将接收ServiceBus队列输入并写入ServiceBus队列输出.异步方法不能有参数,对于BlobStorage上的示例,似乎可以通过使用Streams和TextWrite来解决这些参数.但是,当我尝试使用ServiceBus参数执行相同操作时,我收到异常.

public static async void Transform(
    [ServiceBusTrigger("%InputQueue%")] String input,
    [ServiceBus("%OutputQueue%")] TextWriter output,
    TextWriter log)
Run Code Online (Sandbox Code Playgroud)

错误索引方法'FilterCurrentCpesToNewCpes'

无法绑定ServiceBus以键入"System.IO.TextWriter".

我收到Stream的类似消息.

c# azure azure-webjobs azure-webjobssdk

10
推荐指数
1
解决办法
1877
查看次数

用于部署WebJobs的Azure ARM模板

大家,

有人可以帮助我使用ARM模板部署WebJobs吗?

谢谢Rajaram.

azure azure-webjobs azure-rm-template

10
推荐指数
3
解决办法
5986
查看次数

Azure ServiceBus消息序列化/反序列化

我正在使用应用程序(.Net Core)通过Azure服务总线发送对象并通过Web作业(.Net Core)接收

问题是如何serialize/deserializesend/receive的对象?

我找到了很多关于遗留BroakerMessage.GetBody()接收消息的参考,但不是新的.Net Core方法,请建议,谢谢.

发件人代码:

using Microsoft.Azure.ServiceBus;

MyClass object = new MyClass();
var message = new Message(object);
await queueClient.SendAsync(message);
Run Code Online (Sandbox Code Playgroud)

接收者代码:

using Microsoft.Azure.ServiceBus;

public void ProcessQueueMessage([ServiceBusTrigger("queue")] Message message, TextWriter log)
{
}
Run Code Online (Sandbox Code Playgroud)

c# azure azureservicebus azure-webjobs .net-core

10
推荐指数
1
解决办法
7264
查看次数

新的Azure WebJob项目 - 在NuGet更新后缺少JobHostConfiguration/RunAndBlock

轻松复制

  1. 创建一个新项目'ASP.NET Web应用程序(.NET Framework).
  2. 构建编译,更新NuGet,一切正常.
  3. 添加:添加新的Azure WebJob项目.
  4. 构建,编译.快乐
  5. 更新WebJob项目的NuGet.
  6. 项目不再编译.

引入了重大变化 https://github.com/Azure/app-service-announcements/issues/129

所以我安装

Microsoft.Azure.WebJobs.Extensions.Storage

这解决了QueueTriggerAttribute

但是在program.cs中

    static void Main()
    {
        var config = new JobHostConfiguration();

        if (config.IsDevelopment)
            config.UseDevelopmentSettings();

        var host = new JobHost(config);
        host.RunAndBlock();
    }
Run Code Online (Sandbox Code Playgroud)

我遇到了以下问题:

  1. 现在缺少JobHostConfiguration.
  2. JobHost构造函数现在有两个参数,包括一个新的IJobHostContextFactory?
  3. RunAndBlock丢失了.它现在是'StartAsync'
  4. 现在代码需要变为异步,因为没有对作业的同步调用.

问题:

  1. 需要安装哪些additioanl组件?
  2. 什么是这个新的JobHostContextFactory?
  3. 我现在如何配置作业?
  4. 我该如何更新异步代码?
  5. 现在我们拥有的只是Start,我如何阻止连续工作?

提前致谢!

  • C#
  • .Net Framework 4.6.2
  • Visual Studio 2017 - v15.8.7

c# azure azure-webjobs

10
推荐指数
1
解决办法
2804
查看次数

将Azure存储模拟器与Webjob一起使用的连接字符串是什么?

我有一个简单的WebJob,我希望使用Azure存储模拟器进行测试.

我目前已将AzureJobsRuntime和AzureJobsData集设置为使用开发存储,如下所示:

<connectionStrings>
    <add name="AzureJobsRuntime" connectionString="UseDevelopmentStorage=true;" />
    <add name="AzureJobsData" connectionString="UseDevelopmentStorage=true;" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

webjob非常简单:

public static void Main(string[] args)
{
    JobHost host = new JobHost();
    host.RunAndBlock();
}

public static void Process([QueueInput("queue")] string input, [BlobOutput("containername/blobname")]TextWriter writer)
{

}
Run Code Online (Sandbox Code Playgroud)

这会在启动时抛出异常:

InvalidOperationException异常:

Windows Azure存储帐户连接字符串格式不正确

我已经能够使用相同的连接字符串和CloudStorageAccount类从网站创建队列并添加消息.

connection-string azure azure-webjobs

9
推荐指数
1
解决办法
2327
查看次数

通过git部署azure webjob

我有一个包含.net mvc网站和webjob的解决方案.

我使用git部署 - 所以在git push to azure上,我的网站升级了.我现在只是添加一个将按计划运行的控制台应用程序.我正试图弄清楚如何在网站上部署这个git push,但我不知道该怎么做.

我知道我可以创建一个文件夹website\app_data\jobs\triggered\webjob并将文件复制到那里(比如来自webjob上的后期构建事件),但这意味着我需要将所有这些文件提交到git repo以便部署来获取它们 -这也意味着每次我建立时,Git都会促使我再次犯下它们 - 呃.

有没有更好的方法来做到这一点 - 我可以将我的回购推广到azure,它将正确部署我的网站和我的webjob?

谢谢

azure kudu azure-webjobs

9
推荐指数
1
解决办法
2597
查看次数

Visual Studio 2015发布WebJobs问题

使用VisualStudio 2015中的右键单击"发布为Azure WebJob ..."选项,即可发布作业,但似乎忽略了runMode.

在我的文件中,我有以下设置,但是在发布后,作业在门户网站中不断设置为按需作业:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "MyJob",
  "startTime": "2015-07-21T00:30:00-08:00",
  "endTime": null,
  "jobRecurrenceFrequency": "Day",
  "interval": 1,
  "runMode": "Scheduled"
}
Run Code Online (Sandbox Code Playgroud)

将Visual Studio 2015与Azure SDK for .NET 2.7一起使用

以下是发布后输出窗口中的错误错误:创建WebJob计划时发生错误:无法从程序集'Microsoft.IdentityModel.Clients.ActiveDirectory,Version = 2.16加载类型'Microsoft.IdentityModel.Clients.ActiveDirectory.ActiveDirectoryAuthenticationException' .0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'.

azure-webjobs visual-studio-2015

9
推荐指数
3
解决办法
3143
查看次数

从代码运行触发的Azure WebJob

我创建了一个控制台应用程序上传为Azure触发器Webjob.当我从Azure门户运行它时它工作正常.我想从我的C#代码中运行它.我不想使用队列或服务总线.我只是想在用户在我的网络应用中执行特定操作时触发它.

搜索后,我得到了一个解决方案来触发预定的 http://blog.davidebbo.com/2015/05/scheduled-webjob.html

知道如何从代码运行吗?

c# azure azure-webjobs

9
推荐指数
2
解决办法
7920
查看次数

功能主机未运行

我在azure中有一个功能应用程序,当我点击功能应用程序的URL时,它显示"功能主机未运行".我不知道在哪里检查以及需要更改什么.我试过重启但仍然没有运气.

c# azure azure-webjobs azure-functions asp.net-core-2.0

9
推荐指数
2
解决办法
9243
查看次数