Waj*_*khi 2 azure azure-webjobs asp.net-webhooks
我正在使用Azure WebJob.我首先在Visual Studio中创建一个控制台应用程序,然后在VisualStudio中将该应用程序作为webJob发布在portal.azure中.
该WebJob与触发Manualy从其网络挂接username和password https://{MyWebAPP}.scm.azurewebsites.net/api/triggeredwebjobs/{MyWebJob}/run?arguments=1 2 3从第二程序.
这个WebJob非常简单.它只显示参数1,2和3.
当我从CommandeLine运行程序时,dotnet MyProject.dll
1 2 3它运行良好.但是当我从webHook运行它时,它不会读取参数.
这是我的主要脚本:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("PARAMS Passed : " + string.Join(",", args));
}
}
Run Code Online (Sandbox Code Playgroud)
当我从WebHook by Post请求运行时,这是WebJob中的日志: [06/09/2018 15:19:37 > 33a9f2: INFO] PARAMS Passed :
当我从commande Line运行时,这是控制台: [06/09/2018 15:19:37 > 33a9f2: INFO] PARAMS Passed : 1,2,3
可以帮助一些人.Tha,ks From All.
这归结为VS发布错误.问题是它自动生成一个run.cmd有:
dotnet foo.dll
Run Code Online (Sandbox Code Playgroud)
当它真的应该有:
dotnet foo.dll %*
Run Code Online (Sandbox Code Playgroud)
这样参数就会流入你的控制台应用程序.
我会报告这个问题,但是现在你可以解决如下问题:
run.cmd在控制台应用程序的根目录下显式创建一个(即program.cs旁边).使其包含上面的正确行%*.显然,使用您的实际DLL名称而不是foo.dll :)Copy to Output Directory为Copy Always(默认为不复制).这将导致您run.cmd部署,VS将不会自动生成故障.
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |