- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
<分区>
应用程序在 Azure 上部署为(32 位,.NET Core 2.2)应用服务。当使用标准 AspNetCoreModule
而不是支持 InProcess
托管模型的较新的 AspNetCoreModuleV2
时,它工作正常。
当使用新的InProcess
托管模型时,实际错误是
Could not find inprocess request handler. Captured output from invoking hostfxr: Invalid runtimeconfig.json [D:\home\site\wwwroot\Foo.Api.runtimeconfig.json] [D:\home\site\wwwroot\Foo.Api.runtimeconfig.dev.json]
Foo.Api.runtimeconfig.json 位于 wwwroot 位置
{
"runtimeOptions": {
"tfm": "netcoreapp2.2",
"framework": {
"name": "Microsoft.AspNetCore.App",
"version": "2.2.0"
},
"configProperties": {
"System.GC.Server": true
}
}
}
Web.config
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Foo.Api.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="InProcess">
<handlerSettings>
<handlerSetting name="debugLevel" value="file" />
<handlerSetting name="debugFile" value=".\logs\ancm.log" />
</handlerSettings>
</aspNetCore>
</system.webServer>
</location>
</configuration>
ANCM 日志文件
[aspnetcorev2.dll] Initializing logs for 'D:\Program Files (x86)\IIS\Asp.Net Core Module\V2\aspnetcorev2.dll'. Process Id: 12324.. File Version: 12.2.18296.0. Description: IIS ASP.NET Core Module V2. Commit: 61f1a70784dc0a32cf98f8ddd169c0293b0390ab.
[aspnetcorev2.dll] Detected app_offline file, creating polling application
[aspnetcorev2.dll] Application went offline
[aspnetcorev2.dll] Resolving hostfxr parameters for application: 'dotnet' arguments: '.\Foo.Api.dll' path: 'D:\home\site\wwwroot\'
[aspnetcorev2.dll] Known dotnet.exe location: ''
[aspnetcorev2.dll] Process path 'dotnet.exe' is dotnet, treating application as portable
[aspnetcorev2.dll] Resolving absolute path to dotnet.exe from 'dotnet.exe'
[aspnetcorev2.dll] Invoking where.exe to find dotnet.exe
[aspnetcorev2.dll] where.exe invocation returned: 'D:\Program Files (x86)\dotnet\dotnet.exe
D:\Program Files\dotnet\dotnet.exe
'
[aspnetcorev2.dll] Current process bitness type detected as isX64=0
[aspnetcorev2.dll] Processing entry 'D:\Program Files (x86)\dotnet\dotnet.exe'
[aspnetcorev2.dll] Binary type 0
[aspnetcorev2.dll] Found dotnet.exe via where.exe invocation at 'D:\Program Files (x86)\dotnet\dotnet.exe'
[aspnetcorev2.dll] Resolving absolute path to hostfxr.dll from 'D:\Program Files (x86)\dotnet\dotnet.exe'
[aspnetcorev2.dll] hostfxr.dll located at 'D:\Program Files (x86)\dotnet\host\fxr\2.2.0\hostfxr.dll'
[aspnetcorev2.dll] Converted argument '.\Foo.Api.dll' to 'D:\home\site\wwwroot\.\Foo.Api.dll'
[aspnetcorev2.dll] Parsed hostfxr options: dotnet location: 'D:\Program Files (x86)\dotnet\dotnet.exe' hostfxr path: 'D:\Program Files (x86)\dotnet\host\fxr\2.2.0\hostfxr.dll' arguments:
[aspnetcorev2.dll] Argument[0] = 'D:\Program Files (x86)\dotnet\dotnet.exe'
[aspnetcorev2.dll] Argument[1] = 'D:\home\site\wwwroot\.\Foo.Api.dll'
[aspnetcorev2.dll] Event Log: 'Invoking hostfxr to find the inprocess request handler failed without finding any native dependencies. This most likely means the app is misconfigured, please check the versions of Microsoft.NetCore.App and Microsoft.AspNetCore.App that are targeted by the application and are installed on the machine.'
End Event Log Message.
[aspnetcorev2.dll] Failed HRESULT returned: 0x8000ffff at c:\b\w\e37dd45d8cd1eaf4\modules\iisintegration\src\aspnetcoremodulev2\aspnetcore\handlerresolver.cpp:80
[aspnetcorev2.dll] Event Log: 'Could not find inprocess request handler. Captured output from invoking hostfxr: Invalid runtimeconfig.json [D:\home\site\wwwroot\Foo.Api.runtimeconfig.json] [D:\home\site\wwwroot\Foo.Api.runtimeconfig.dev.json]
'
End Event Log Message.
[aspnetcorev2.dll] Failed HRESULT returned: 0x8000ffff at c:\b\w\e37dd45d8cd1eaf4\modules\iisintegration\src\aspnetcoremodulev2\aspnetcore\handlerresolver.cpp:153
[aspnetcorev2.dll] Failed HRESULT returned: 0x8000ffff at c:\b\w\e37dd45d8cd1eaf4\modules\iisintegration\src\aspnetcoremodulev2\aspnetcore\applicationinfo.cpp:136
[aspnetcorev2.dll] Failed HRESULT returned: 0x8000ffff at c:\b\w\e37dd45d8cd1eaf4\modules\iisintegration\src\aspnetcoremodulev2\aspnetcore\applicationinfo.cpp:91
[aspnetcorev2.dll] Event Log: 'Failed to start application '/LM/W3SVC/1455123678/ROOT', ErrorCode '0x8000ffff'.'
End Event Log Message.
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE::OnGlobalStopListening
[aspnetcorev2.dll] Stopping application '/LM/W3SVC/1455123678/ROOT'
[aspnetcorev2.dll] ASPNET_CORE_GLOBAL_MODULE::Terminate
使用 kudu 的服务器详细信息
dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.2.100
Commit: 51868761f2
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x86
Base Path: D:\Program Files (x86)\dotnet\sdk\2.2.100\
Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed
.NET Core SDKs installed:
1.1.10 [D:\Program Files (x86)\dotnet\sdk]
2.1.402 [D:\Program Files (x86)\dotnet\sdk]
2.1.500 [D:\Program Files (x86)\dotnet\sdk]
2.2.100 [D:\Program Files (x86)\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.4 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.4 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.12 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.9 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.4 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [D:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
Program.cs
using System;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using Foo.Dal;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Serilog;
namespace Foo.Api
{
[ExcludeFromCodeCoverage]
public class Program
{
public static IConfiguration Configuration { get; } = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
public static int Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.ReadFrom.Configuration(Configuration)
.WriteTo.Console()
.CreateLogger();
try
{
Log.Information("Starting web host");
CreateWebHostBuilder(args).Build().Migrate().Run();
return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
Log.CloseAndFlush();
}
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseConfiguration(Configuration)
.UseSerilog();
}
public static class MigrationExtentions
{
public static IWebHost Migrate(this IWebHost webhost)
{
using (var scope = webhost.Services.GetService<IServiceScopeFactory>().CreateScope())
{
using (var dbContext = scope.ServiceProvider.GetRequiredService<MyContext>())
{
dbContext.Database.Migrate();
}
}
return webhost;
}
}
}
csproj 摘录
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<RuntimeFrameworkVersion>2.2.0</RuntimeFrameworkVersion>
<UserSecretsId>717ec1cf-5ff6-4176-b96b-ee427f40bee5</UserSecretsId>
<AssemblyName>Bar.Foo.Api</AssemblyName>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
我将 Spring 与测试配置一起使用,该测试配置为我提供了一个用于测试的 InProcessServer Neo4j 数据库。可悲的是,在每个 @Test 方法之后,这个数据库中仍然有废数据。是否可
我有.net core 2.2 web api 我将其升级为“inProcess”,使用双前向斜线调用此服务的客户得到 404,当将其配置为“OutOfProcess”时,它工作得很好。 有问题的调用
我有一个面向完整框架 4.6 的 ASP.NET Core 应用程序。当我部署到 IIS 时,应用程序用完了进程。这是 ASP.NET Core 2.0 和 2.1 的默认设置,然后据说在 ASP.N
问题 我有一个使用 IIS 托管的 InProcess ASP.NET Core Web 应用程序。我实现了每次启动时抛出的异常。 不出所料 , IIS 显示这个错误页面: HTTP Error 50
这个问题在这里已经有了答案: Serilog does not write log to file while using InProcess hosting model in ASP.NET Co
我读了这个很棒的 article通过里克·斯特拉尔。微软表示在 DotNet core 2.2 决定添加 InProcess 之后直接使用IIS处理请求而不是使用OutOfProcess的模式使用 K
如果我使用新引入的InProcess ASP.NET Core 2.2 中的托管模型如下: netcoreapp2.2 InProcess Serilog不将日志写入文件。但如果我删除 I
我们将许多 ASP.Net Core 2.2 应用程序之一迁移到 .NET Core 3.0。该应用程序在开发人员机器上运行良好。 当我在生产服务器 (IIS) 上运行它时,我不断收到 HTTP 错误
我已将项目迁移到 asp.net core 3.1,但是当我部署到 azure Web 应用程序时,它无法启动。 显示错误 HTTP Error 500.31 - ANCM Failed to Fin
我确实将我的应用程序升级到了 aspnetcore 2.2,但由于一些遗留限制(我计划稍后删除),我必须以 .NET Framework 为目标。 新的托管模型 InProcess 带来了改进,因此我
我是一名优秀的程序员,十分优秀!