相关疑难解决方法(0)

在 .Net Core Worker Service 中托管 Web API - 无法引用 IWebHostEnvironment

我正在创建一个 .NET Core Worker Service,并希望为该服务公开 ASP.Net Core Web API。我正在使用 .NET Core 3.0。最初,我的计划是用 IWebHostBuilder 替换 IHostBuilder 并添加一个 Startup 类,就像常规的 Asp.Net Core Web 应用程序一样(不过,这可能过于简化了)。

我的计划是简单地尝试更换

public static IHostBuilder CreateHostBuilder(string[] args)
        {
            return Host.CreateDefaultBuilder(args)                
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                });
        }
Run Code Online (Sandbox Code Playgroud)

public static IWebHostBuilder CreateHostBuilder(string[] args)
        {
            return WebHost.CreateDefaultBuilder(args)
                .ConfigureServices(services =>
                {
                    services.AddHostedService<Worker>();
                }).UseStartup<Startup>();            
        }
Run Code Online (Sandbox Code Playgroud)

这可能根本不起作用,但至少它是一个起点......阻止我尝试这种方法的是我无法实现我的Startup类,因为IWebHostEnvironment它不可用。

这是我的

<PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UserSecretsId>dotnet-WorkerServices-0E977A2C-F0C8-49E7-B00A-5EB01B99FBEB</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="3.0.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0" /> …
Run Code Online (Sandbox Code Playgroud)

.net-core asp.net-core

5
推荐指数
2
解决办法
4298
查看次数

IHostBuilder不包含ConfigureWebHostDefaults的定义

我正在尝试使用此处记录的.NET Core 3.0中的新功能GenericHost,但遇到一个非常基本的错误,即统计信息不包含该函数的定义。IHostBuilderConfigureWebHostDefaults

在这里查看ASP.NET 3.0文档的IHostBuilder接口我看不到任何引用,ConfigureWebHostDefaults因此有点困惑。

我正在使用3.0.0程序包Microsoft.Extensions.HostingMicrosoft.Extensions.Hosting.Abstractions但是却束手无策,但感觉到我遗漏了某些明显的东西,或者ConfigureWebHostDefaults由于某种原因而将其删除了?

更新-Program.cs的屏幕截图

在此处输入图片说明

更新-.csproj文件

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="3.0.0" />
    <PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="3.0.0" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-3.0

1
推荐指数
1
解决办法
664
查看次数

标签 统计

.net-core ×1

asp.net-core ×1

asp.net-core-3.0 ×1

c# ×1