我正在使用Azure WebJob。 我首先在Visual Studio中创建一个控制台应用程序,然后在VisualStudio的portal.azure中将该应用程序作为webJob发布。
WebJob是来自第二个程序的username
和password
https://{MyWebAPP}.scm.azurewebsites.net/api/triggeredwebjobs/{MyWebJob}/run?arguments=1 2 3
来自其Webhook的触发器。
这个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));
}
}
当我通过Post请求从WebHook运行时,这是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。
答案 0 :(得分:7)
这归结为VS发布错误。问题是它会自动生成run.cmd
,其中包含:
dotnet foo.dll
什么时候真的应该:
dotnet foo.dll %*
这样参数就会流入你的控制台应用程序。
我会报告此问题,但现在您可以按如下方式解决:
run.cmd
。使其包含%*
上方的正确行。显然,使用您的实际DLL名称而不是foo.dll:)Copy to Output Directory
设置为Copy Always
(默认为不复制)。这将导致部署run.cmd
,VS不会自动生成错误的。{/ p>