问题标签 [azure-webjobs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
9410 浏览

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

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

所以我问你,大约 2011 年在 ASP.NET 4 的 IIS 下运行后台/异步工作的“首选”方法是什么?直接使用线程/任务有什么注意事项?Async=true 还在流行吗?

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

0 投票
2 回答
1802 浏览

asp.net - ASP.NET 长时间运行的任务思路

很多时候,我必须使用 SQL 服务器从 asp.net 站点向第三方会计系统发送数据或从第三方会计系统发送数据。数据导入通常需要一段时间,我正在尝试找到处理长时间运行任务的最佳方法,如果他们想了解它的运行情况,可以更新用户。我的问题是以下方法的优缺点是什么,您推荐什么,为什么?

  • 旧式asp response.write:我实际上使用了很多,目前是我的首选方法,因为它很快。我真的没有很多问题。我认为应用程序池回收将是一个问题,但我认为它不会在请求中间进行回收。

  • 使用此处建议的 IFrame http://encosia.com/easy-incremental-status-updates-for-long-requests/与上述方法类似,但这是异步的。我不确定这是否允许 asp .net 重启

  • 一个从站点调用 Web 服务的单独 Windows 应用程序:我使用过这种方法,但是设置时间会更长一些,并且会在应用程序池回收时停止运行。我可能不会使用这种方法

  • Windows 工作流程:没有使用过,但似乎(特别是对于小数据更新)会过大

  • Windows 服务:同上。好像太难了

  • Ajax,用于轮询缓存结果的单独线程和计时器:我也使用过很多次,但如果应用程序池回收,这将停止,因为它位于 asp.net 不知道的单独线程上。

0 投票
7 回答
7547 浏览

.net - Azure 网站 - 计划任务

我正在开发一个我计划在 Windows Azure 上托管的网站。该站点将需要运行一些每日/每周计划的作业,同步到各种第三方数据源,发送用户通知等。它还应该能够运行按需异步任务,例如向用户发送电子邮件等。

我最初的想法是使用 Azure 云服务来托管它,一个运行 MVC 4 的 Web 角色和一个工作角色既负责计划任务,又将异步任务(发送电子邮件等)从队列存储中拉出。但是,这会让我付出代价,因为我需要为计算时间支付双倍的费用。

该项目可能会在未来证明这一成本是合理的,但在业务回升之前,我真的更喜欢更便宜的替代方案。因此,我正在研究 Azure 网站。

通过将 Azure 网站用于 MVC 站点并让工作人员角色运行任务,我可以将成本降低一半,但我很想听听其他替代方案,除了从我的管理模块手动触发它们的明显选项。

另外,我可以将站点连接到我的域并使用 Azure 网站免费使用 ssl 吗?

0 投票
1 回答
1054 浏览

asp.net - 异步启动长时间运行的进程

在我们的 Web 应用程序中,用户可以进行需要更新大量数据库表的更改。所有这些的加载时间最长可达 30 秒。我不希望用户在导航到另一个页面之前等待它完成。

我已将长时间运行的代码放在其自己的页面上(例如“updateinfo.aspx”)并尝试了一些解决方案,包括对“updateinfo.aspx”的 jQuery AJAX 调用或加载调用“updateinfo.aspx”的图像文件. 在所有情况下,当“updateinfo.aspx”正在执行时,我都无法从启动 AJAX 调用的原始 HTML 页面导航到另一个 HTML 页面。Chrome 表示对“updateinfo.aspx”的请求正在等待处理。当我单击链接以离开原始 HTML 页面时,我们正在“等待 example.org...”,直到 AJAX 页面完成,然后导航到下一个 HTML 页面的请求随之而来,新页面负载。

因此,这违背了将长时间运行的代码放入 AJAX 页面的目的。用户的页面呈现速度很快,但在 AJAX 页面完成之前,他们无法通过导航到另一个页面来继续他们的一天。我不关心 AJAX 页面的输出。

有什么想法吗?

0 投票
2 回答
4800 浏览

c# - 如何在 Asp WebAPI 应用程序中实现一个运行时间很长的后台任务

我正在编写一个 WebAPI 应用程序来执行许多长时间运行的后台处理任务。

我注意到,即使在 IIS 中禁用池回收之后,我的测试数据加载任务也被 System.Threading.ThreadAbortException 杀死。我知道,有一种方法可以在 Web 应用程序中运行非常长时间(几个小时)的后台任务,但是,我只是不知道它是如何完成的 - 一些特定的配置设置,编码技术,一个 Wen.config 参数等...有人可以分享一些实用的方法吗?

0 投票
2 回答
1309 浏览

azure - Azure webjobs,找不到 Newtonsoft.Json

我正在使用新的 webjob sdk 运行一个 azure webjob。每次我触发作业时,我都会收到此错误。我查看了 scm,文件在那里,其他人有这个问题吗?

//细节

[01/26/2014 21:58:41] 未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“Newtonsoft.Json,版本=4.5.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed”或其之一依赖关系。该系统找不到指定的文件。[01/26/2014 21:58:41] 在 System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType) [01/26/2014 21:58:41] 在系统。 Reflection.RuntimeMethodInfo.FetchNonReturnParameters() [01/26/2014 21:58:41] 在 System.Reflection.RuntimeMethodInfo.GetParameters() [01/26/2014 21:58:41] 在 Microsoft.WindowsAzure.Jobs.Indexer。 GetMethodDescriptor(MethodInfo 方法) [01/26/2014 21:58:41] 在 Microsoft.WindowsAzure.Jobs.Indexer.IndexMethod(Func2 funcApplyLocation, MethodInfo method, IndexTypeContext context) [01/26/2014 21:58:41] at Microsoft.WindowsAzure.Jobs.Indexer.IndexType(Func2 funcApplyLocation,类型类型)[01/26/2014 21:58:41] 在 Microsoft.WindowsAzure.Jobs.Internals.FunctionStore..ctor(字符串 dataConnectionString,IConfiguration 配置,IEnumerable`1 类型)[01/26/2014 21 :58:41] 在 Microsoft.WindowsAzure.Jobs.JobHostContext..ctor(String dataConnectionString, String runtimeConnectionString, JobHostTestHooks hooks) [01/26/2014 21:58:41] 在 Microsoft.WindowsAzure.Jobs.JobHost..ctor(字符串 dataConnectionString,字符串 runtimeConnectionString,JobHostTestHooks 挂钩)[01/26/2014 21:58:41] 在 Factory.Program.Main(String[] args) [01/26/2014 21:58:41 > 8bbfc2: SYS ERR]由于退出代码 -532462766,作业失败

0 投票
3 回答
2029 浏览

c# - 执行 windows azure web 作业

我创建了一个小的 .exe 来更新我的数据库中的一些表也在天蓝色中创建,但是我上传所需.zip文件的所有时间都显示此错误

漏洞

看博客发现有人用windows azure web job sdk上传项目,值得指出的是这个库没有Visual Studio 2010的版本,所以不能用。

使用上述 sdk 是创建和使用控制台应用程序 Web 作业的唯一方法吗?

0 投票
2 回答
2663 浏览

azure - WebJob 不触发

我创建了一个使用 QueueInput 触发器的简单 Azure WebJob。它部署没有任何问题,我已经通过管理门户对其进行了安排,以便它“连续运行”

初始测试似乎很好,在将任何内容放入队列后不久就会触发作业。

偶然地,我在将其他任何东西放入队列之前大约一天就离开了它。这次作业在几分钟内没有触发,所以我登录到门户查看调用日志 - 这表明作业刚刚被触发。

这似乎太巧合了,所以我又把它放在了另一天,然后才把东西放到队列中。同样,这项工作没有触发。我把它放了一夜,到早上它仍然没有触发。

这次登录管理门户时,我注意到该作业在 WebJobs 页面上被标记为“已中止”。就这样只持续了大约10秒钟,状态就变成了“正在运行”。然后,正如预期的那样,工作立即从前一天晚上放入队列的内容中触发。

因为它是一个 alpha 版本,所以我预计会出现故障。只是想知道有没有其他人有过类似的经历。

0 投票
2 回答
6663 浏览

c# - Azure WebJob 临时文件夹

是否有 Azure WebJobs 首选机制来获取用于处理我的 blob 数据(sqlite db)的本地存储文件夹/路径?我可以获取流,但需要将其写入磁盘,以便 Sqlite 可以打开到它的连接。

我知道 RoleEnvironment.GetLocalResource 是为了与 WebRoles 一起使用...是否有 WebJobs 的等价物?

0 投票
1 回答
121 浏览

c# - 来自 Azure Webjobs 主机的 FormatExcpetion

了解这是预发布 :)

当尝试QueueInput在 Azure WebJobs 中使用并在消息中粘贴哈希的十六进制字符串时。

看起来ilspy它似乎正在尝试解析,$AzureJobsParentId而 JSON 解析器正在抛出异常,我可以通过在 JSON 片段中编码我的哈希来解决它,但我不希望这样做。这是一个已知的错误?