不久前,我使用Visual Studio(2015)创建了一个WebApp,一个控制台应用程序,并将该控制台应用程序作为OnDemand WebJob链接到WebApp。我将整个发布到Azure和网站,WebJob和Scheduler Job完美地工作。
上周,我注意到WebJob不再运行了。该网站正在不断发展,所以我不确定这是由于我们应用的代码更改还是由于Azure中的某些内容。
无论我尝试什么(包括在webapp上完全删除作业,日程安排和App_Data中的文件夹),当我从VS发布WebApp时,都会重新创建webjob,但调度程序会因以下错误而失败。
Http Action - Response from host 'mysite.scm.azurewebsites.net': 'Unauthorized' Response Headers: Date: Fri, 29 Jan 2016 07:02:01 GMT
Server: Microsoft-IIS/8.0
WWW-Authenticate: Basic realm="site"
Body: 401 - Unauthorized: Access is denied due to invalid credentials. Server Error
任何可能导致此问题的线索,或者我可以收集哪些其他信息来追查实际问题?
谢谢, 埃里克
答案 0 :(得分:3)
我们对发布NuGet的WebJobs进行了调整,并发布了更新。此更新解决了调度程序auth标头问题。将发布NuGet更新为1.0.11版本后,将解决此问题。
https://www.nuget.org/packages/Microsoft.Web.WebJobs.Publish/1.0.11
答案 1 :(得分:2)
这意味着您对mysite.scm.azurewebsites.net(您的webjob等待的地方)的http请求在请求中没有正确的信用。
转到portal.azure.com,然后在计划程序集合中打开计划的Web作业。在操作磁贴中,您是否看到它是否使用任何身份验证?如果没有选择基本身份验证。在这里,您需要输入您的网络应用的用户名和密码。您可以从Web应用程序的发布配置文件中获取这两个值。如果您不知道它在哪里,请参阅此post。
答案 2 :(得分:0)
我有这个问题,我找到了它的修复程序。
默认情况下,如果您的作业集中有多个webjob。您会发现身份验证标头仅添加到第一个作业,而不是其他作业。因此,您需要将这两个标头复制到其他作业中,这样可以解决scueduler问题机器人能够在Azure中运行预定作业。
我发布了一个如何解决这个问题的详细解决方案:
http://www.mostafaelzoghbi.com/2016/02/azure-scheduler-fails-to-trigger.html