我尝试使用JobHost
自我托管Microsoft.Azure.WebJobs
并包含Http扩展程序,但我似乎无法弄清楚它所托管的Uri /端口
这是我的主要方法:
static void Main(string[] args)
{
var config = new JobHostConfiguration();
var filter = new LogCategoryFilter();
filter.DefaultLevel = LogLevel.Trace;
config.LoggerFactory = new LoggerFactory()
.AddConsole(filter.Filter);
var httpExtensionConfiguration = new HttpExtensionConfiguration();
config.UseHttp(httpExtensionConfiguration);
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
host.RunAndBlock();
}
这是运行时的输出窗口
答案 0 :(得分:3)
虽然HTTP扩展将添加所需的绑定,服务和HTTP功能,但它不提供监听器,因此它不会为您设置主机(它依赖于您需要设置的外部监听)。
使用Azure Functions运行时,WebHost本身就是侦听器。 CLI使用该实现来启动主机并公开HTTP功能。你可以在这里看到这种方法:
如果您不想依赖脚本WebHost(CLI利用其许多功能,因此在那里它是有意义的),只需在构建主机时直接提供应用程序,就可以采用更简单的方法。您可以查看CLI提供的Startup
类,了解如何使用最新位注册和配置事物:
注意:您正在使用的扩展程序版本以及我分享的代码都是预先发布的(或者甚至尚未合并),因此它们可能会发生变化,但是这就是我们要走的方向。