HTTP错误500.30-ASP.NET Core 2.2中的ANCM进程内启动失败错误

时间:2019-01-18 05:23:19

标签: asp.net-core asp.net-core-identity asp.net-core-2.2

我正在配置此应用程序 Confirming the account and recovering passwords in ASP.NET Core 但我有一个错误:

  

HTTP错误500.30-ANCM进程内启动失败的常见原因   此问题:应用程序无法启动应用程序已启动   但随后停止了应用程序已启动,但在运行期间引发了异常   启动故障排除步骤:检查系统事件日志中是否有错误   messages启用记录应用程序进程的标准输出消息   将调试器附加到应用程序过程并检查http 500   在IdentityHostingStartup中替换此代码时

下面是我的配置:

[assembly: HostingStartup(typeof(Misioneros.Stella.Maris.Web.Areas.Identity.IdentityHostingStartup))]
namespace Misioneros.Stella.Maris.Web.Areas.Identity
{
    public class IdentityHostingStartup : IHostingStartup
    {
        public void Configure(IWebHostBuilder builder)
        {
            builder.ConfigureServices((context, services) => {
                services.AddDbContext<ApplicationDbContext>(options =>
                    options.UseSqlServer(
                        context.Configuration.GetConnectionString("DefaultConnection")));

                services.AddDefaultIdentity<IdentityUser>(config =>
                {
                    config.SignIn.RequireConfirmedEmail = true;
                })
                    .AddEntityFrameworkStores<ApplicationDbContext>();
            });
        }
    }
}

有什么问题吗?

10 个答案:

答案 0 :(得分:7)

我有原因。可能是您在应用程序中两次注册Identity,如下所示:

启动类的ConfigureServices方法之一:

services.AddDefaultIdentity<IdentityUser>()
                .AddDefaultUI(UIFramework.Bootstrap4)
                .AddEntityFrameworkStores<ApplicationDbContext>();

IdentityHostingStartup中的其他内容:

services.AddDefaultIdentity<IdentityUser>(config =>
                {
                    config.SignIn.RequireConfirmedEmail = true;
                }).AddEntityFrameworkStores<ApplicationDbContext>();

Identity注册在一个位置,即使用ConfigureServices方法或IdentityHostingStartup

希望这会对您有所帮助。

答案 1 :(得分:4)

由于TanvirArjel引用的重复身份问题,我遇到了500.30错误,但是当我的appsettings.json文件中包含一些错误的JSON时,我也遇到了错误。不确定是否仅在您实际上尝试在启动中使用配置值时才会发生。

答案 2 :(得分:1)

在生产IIS服务器上为我(在.NET Core 2.2中)解决此确切错误的原因是在我的应用程序池中禁用了32位应用程序支持。在我本地的Win10 IIS Express安装程序上一切正常。

我从Visual Studio 2019(发布>设置选项卡)以“部署模式:依赖框架”和“目标运行时:win-x64”发布了我的应用程序。我不确定前一个选项是否重要。

要纠正IIS服务器上的错误,我需要进入应用程序池中的“高级设置”,并将“启用32位应用程序”设置为“假”。您也可以在全局级别执行此操作。您将在右侧的“操作”窗格中找到全局的“高级设置”。

答案 3 :(得分:0)

出现此错误。原来,原因是我使用的应用程序使用了Azure Key Vault,并且I was using the wrong identity to authenticate with Azure.

我必须转到工具>选项> Azure服务身份验证,并更改用于Azure服务身份验证的身份。

enter image description here

答案 4 :(得分:0)

openiddict 2.0.0-rc2-final更新为openiddict 2.0.0时得到500.30

TanvirArjel的answer,指出我要从.AddOAuthValidation();中删除StartUp.cs

public void ConfigureServices(IServiceCollection services)
{
    // updated openiddict
    services.AddOpenIddict()
            .AddCore(options => { /*removed for brevity*/ })
            .AddServer(options => { /*removed for brevity*/ })
            .AddValidation();

    services.AddAuthentication(options => { /*removed for brevity*/ })
            .AddCookie()
            .AddOAuthValidation(); // this line
}

答案 5 :(得分:0)

program.cs中添加try catch块可能有助于解决问题

public static void Main(string[] args)
        {
            try { 
            CreateWebHostBuilder(args).Build().Run();
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
        }

答案 6 :(得分:0)

当我有一个使用相同应用程序池的Web应用程序和Web api网站(来自相同解决方案)时,我遇到了相同的问题。当我为Web api创建新的应用程序池时,我解决了该问题,以使其不再与Web应用程序共享应用程序池。

答案 7 :(得分:0)

如果您不知道该行为的原因是什么,可以在web.config文件中启用登录功能

<aspNetCore processPath="dotnet" arguments=".\WMC.Web.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

,然后在日志文件夹中,您将找到有关异常的详细说明

答案 8 :(得分:-1)

在Visual Studio版本16.4.1更新之后,我收到了此问题,我通过更改cs.proj中的程序包引用来解决了该问题:

来自 PackageReference Include="Microsoft.AspNetCore" Version="2.2.0"

PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0"

enter image description here

答案 9 :(得分:-2)

我只是尝试在Windows功能> Internet信息服务>万维网服务>应用程序开发功能中启用与ASP相关的所有功能。