azure - 如何将asp.net core web作业发布到azure应用程序服务

标签 azure asp.net-core visual-studio-2017 .net-core azure-webjobs

我已经开始使用 asp.net core 2 Web 应用程序,我可以使用 Web 部署将其从 Visual Studio 发布到应用服务。

我创建了新的干净的 .net core 2 控制台应用程序。我可以将其作为 webjob 上传并使用 Azure 门户运行,但是如何从本地命令行或 Visual Studio 发布它?

基本上,我不关心它是与 Web 应用程序一起发布还是独立发布。

编辑:我以某种方式设法通过右键单击项目并选择文档中提到的“发布”(而不是“发布为 Azure WebJob”)来获取发布对话框。但我还是不知道到底是用了什么伎俩。正在安装 Azure SDK?添加 webjob-publish-settings.json?添加Setting.job?

最佳答案

使用 Azure 门户将 .net core 发布为 Webjob:

如您所知:

WebJob 查找特定的文件类型,例如(.cmd、.bat、.exe 等...) 要运行 .NET Core 控制台应用程序,请使用 DOTNET 命令

因此,您需要创建一个扩展名为 WebJob 并执行的文件。

1.您可以创建一个.net core控制台应用程序。运行后,您的项目名称/bin/Debug/netcoreapp2.0中将有以下文件

enter image description here 2.在其下创建run.cmd文件。 run.cmd内容如下:

@echo off

dotnet ConsoleApp7.dll

3.要将 .NET Core 控制台应用程序部署到 Azure 应用服务 Web 应用 Web 作业,请访问 Azure 门户并导航到将在其中托管 Web 作业的 Azure 应用服务。 单击 WebJobs 链接和添加按钮。 enter image description here 4.上传netcoreapp2.0.zip

enter image description here

5.WebJob成功上传后,它将呈现在WebJob Blade 中。单击它,您将看到“运行”按钮。

enter image description here 6.当您使用 WriteLine() 方法将输出写入控制台时,它将显示在 KUDU/SCM 上的“运行详细信息”窗口中。

enter image description here

更详细的可以引用这个article还有这个one .

更新:(使用命令行发布)

1.首先,从 Azure 门户下载 Web 应用程序的发布设置文件。 enter image description here

2.准备您创建的.zip文件夹。

正如 David 所说,您可以使用 WAWSDeploy 通过命令行发布 webjob。 您可以使用此 link 下载 WAWSDeploy .

3.然后进入WAWSDeploy/bin/Debug文件夹打开本地命令行。 尝试以下命令来部署 webjob:

WAWSDeploy.exe DotNetCoreWebJobSample.zip [WEBSITE_NAME].PublishSettings /t app_data\jobs\triggered\DotNetCoreWebJobSample /v

目标目录将为app_data\jobs\triggered\[WEBJOB_NAME]。如果此 Web 作业是连续运行的作业,请将“触发”替换为“连续”。

注意:您可以将 WAWSDeploy.exe 和发布设置文件以及 .zip 放入一个文件夹中。如果没有,您应该提供发布设置和 .zip 文件的完整路径。这样就可以成功发布webjob了。

有关 WAWSDeploy 的更多详细信息,请参阅此 article .

关于azure - 如何将asp.net core web作业发布到azure应用程序服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49280708/

相关文章:

c# - Telerik Net Core Treeview 模板-从所选项目的输入框中获取值

visual-studio - 如何使用 .PublishSettings 文件仅将 dist 文件夹部署到 azure 网站

docker - 是否有人使用 ubuntu 18.04 在 docker 中使用 gRPC 服务器在微服务中部署了 .NET Core

visual-studio - VS2017 缺少“管理 NuGet 包”对话框

php - 无法使用 FreeTDS 连接到 Azure SQL

java - 使用 Java 将实体添加到 Azure 的表中

azure - 持久化 TableEntity 时发生错误请求错误

mysql - 连接 Spotfire Azure MySQL 数据库

c# - 更改 ASP.NET MVC 项目命名空间后出现编译错误?

c# - Xamarin.Forms:Map.IsShowingUser 未显示当前位置?