C# 有没有办法将输入插入到持续运行的webjob中?
我在azure上托管了一个简单的webjob,作为一个持续运行的作业 我需要传递令牌值作为输入,如何使用连续web作业实现这一点C# 有没有办法将输入插入到持续运行的webjob中?,c#,.net,azure,c#-4.0,azure-webjobs,C#,.net,Azure,C# 4.0,Azure Webjobs,我在azure上托管了一个简单的webjob,作为一个持续运行的作业 我需要传递令牌值作为输入,如何使用连续web作业实现这一点 static void Main(string[] args) { try { Console.WriteLine("Goto Login url" + kite.GetLoginURL()); Console.WriteLine(&q
static void Main(string[] args)
{
try
{
Console.WriteLine("Goto Login url" + kite.GetLoginURL());
Console.WriteLine("Enter request token: ");
string requestToken = Console.ReadLine();
我认为不可能使用webjobs(continuos job),除非您运行了一些web服务器,可以对其发出请求(例如sinatra、aspnet core等)。您需要将Azure函数与HTTP触发器一起使用。然后,您可以在查询字符串或请求正文中传递令牌,并执行您需要执行的操作。我认为使用webjobs(continuos作业)是不可能的,除非您有一些运行的web服务器,您可以对其发出请求(例如sinatra、aspnet core等)。您需要将Azure函数与HTTP触发器一起使用。然后,您可以在querystring或请求正文中传递令牌,并执行您需要执行的操作。Webjob是后台服务,因此您不能使用
Console.ReadLine()接受用户输入。由于WebJob没有类似于Azure的HTTP触发器功能,因此我认为向WebJob传递消息/输入的唯一替代方法是使其成为事件驱动的,就像在接收队列消息时使用and do处理一样。有关详细信息,请参阅此
下面将.net core 3.1与web作业sdk v3一起使用。有关旧sdk的等效代码,请参阅
队列触发的作业:
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace WebJobsSDKSample
{
public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
{
// do stuffs with message
logger.LogInformation(message);
}
}
}
Program.cs
using System.Threading.Tasks;
using Microsoft.Extensions.Hosting;
namespace WebJobsSDKSample
{
public class Program
{
static async Task Main()
{
var builder = new HostBuilder();
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
});
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
}
}
您也可以浏览一些旧的示例。但是这些示例使用的是v1 SDK。Webjob是后台服务,因此您无论如何都不能使用Console.ReadLine()
获取用户输入。由于WebJob没有类似于Azure的HTTP触发器功能,因此我认为向WebJob传递消息/输入的唯一替代方法是使其成为事件驱动的,就像在接收队列消息时使用and do处理一样。有关详细信息,请参阅此
下面将.net core 3.1与web作业sdk v3一起使用。有关旧sdk的等效代码,请参阅
队列触发的作业:
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace WebJobsSDKSample
{
public class Functions
{
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
{
// do stuffs with message
logger.LogInformation(message);
}
}
}
Program.cs
using System.Threading.Tasks;
using Microsoft.Extensions.Hosting;
namespace WebJobsSDKSample
{
public class Program
{
static async Task Main()
{
var builder = new HostBuilder();
builder.ConfigureWebJobs(b =>
{
b.AddAzureStorageCoreServices();
});
var host = builder.Build();
using (host)
{
await host.RunAsync();
}
}
}
}
您也可以浏览一些旧的示例。但这些示例使用的是v1 SDK。感谢您的宝贵意见。我可以使用kudu cmd手动运行和传递它吗?感谢您的宝贵意见。我可以使用kudu cmd手动运行和传递它吗?