自托管 JobHost 时找出托管 Uri
Find out hosting Uri when selfhosting JobHost
我正在尝试使用 Microsoft.Azure.WebJobs
并包括 Http 扩展来自行托管 JobHost
,但我似乎无法弄清楚 Uri/port 它托管在什么
这是我的主要方法:
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();
}
这是当 运行
时的输出 window
虽然 HTTP 扩展将添加所需的绑定、服务和 HTTP 功能,但它不提供侦听器,因此它不会为您设置主机(它依赖于您需要设置的外部侦听).
对于 Azure Functions 运行时,WebHost 本身就是侦听器。 CLI 使用该实现来启动主机并公开 HTTP 功能。你可以在这里看到这种方法:
如果您不想依赖 Script WebHost(CLI 利用了它的许多功能,因此它很有意义),您可以采用更简单的方法,只需在构建主机时直接提供您的应用程序。您可以查看 CLI 提供的 Startup
class 以了解如何使用最新位注册和配置事物:
注意:您正在使用的扩展版本以及我共享的代码是预发布的(甚至还没有合并),所以它们是可能会有变化,但这是我们前进的方向。
我正在尝试使用 Microsoft.Azure.WebJobs
并包括 Http 扩展来自行托管 JobHost
,但我似乎无法弄清楚 Uri/port 它托管在什么
这是我的主要方法:
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();
}
这是当 运行
时的输出 window虽然 HTTP 扩展将添加所需的绑定、服务和 HTTP 功能,但它不提供侦听器,因此它不会为您设置主机(它依赖于您需要设置的外部侦听).
对于 Azure Functions 运行时,WebHost 本身就是侦听器。 CLI 使用该实现来启动主机并公开 HTTP 功能。你可以在这里看到这种方法:
如果您不想依赖 Script WebHost(CLI 利用了它的许多功能,因此它很有意义),您可以采用更简单的方法,只需在构建主机时直接提供您的应用程序。您可以查看 CLI 提供的 Startup
class 以了解如何使用最新位注册和配置事物:
注意:您正在使用的扩展版本以及我共享的代码是预发布的(甚至还没有合并),所以它们是可能会有变化,但这是我们前进的方向。