IIS上的Asp.net Core 2发布项目只返回一个空白页面?

时间:2018-04-24 15:43:45

标签: asp.net-mvc iis asp.net-core publish

我正在开发一个Asp.net核心2.0项目,我发布它并希望在IIS上运行。 当项目第一次在IIS上运行时,数据库会自动创建,并在IIS上播放一些表,一切正常。但是没有任何内容可以显示,只返回空白页面而没有任何错误。

web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule"     resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\LibraryProject.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
<!--ProjectGuid: b874d2d9-471b-494a-828c-257173c5a413-->

和Program.cs:

public class Program
{

    public static void Main(string[] args)
    {
        var host = BuildWebHost(args);

        using (var scope = host.Services.CreateScope())
        {
            var services = scope.ServiceProvider;
            try
            {
                var userManager = services.GetRequiredService<UserManager<ApplicationUser>>();
                var roleManager = services.GetRequiredService<RoleManager<ApplicationRole>>();
                var context = services.GetRequiredService<ApplicationDbContext>();
                SeedData.Seeding(userManager, roleManager, context);
            }
            catch (Exception ex)
            {
                var logger = services.GetRequiredService<ILogger<Program>>();
                logger.LogError(ex, "An error occurred while seeding the database.");
            }
        }

        host.Run();
    }     

    public static IWebHost BuildWebHost(string[] args) =>
         WebHost.CreateDefaultBuilder(args)
               .UseKestrel()
               .UseContentRoot(Directory.GetCurrentDirectory())
               .UseIISIntegration()
               .UseStartup<Startup>()
               .Build();

}

我还在其他dll`s附近的发布文件夹中创建了logs\stdout文件夹。 我从这个link设置了IIS。我的项目有什么问题?

2 个答案:

答案 0 :(得分:0)

如果您已从当前模板集创建项目,则会启用Application Insights。这为我解决了这个问题:

在Program.cs中,将以下方法添加到WebHost.CreatDefaultBuilder中:

.UseApplicationInsights()

在此处找到:https://developercommunity.visualstudio.com/content/problem/92979/some-aspnet-core-projects-fail-to-add-the-applicat.html

答案 1 :(得分:0)

我在这里玩游戏有些迟了,但是我看不到其他人在回答。希望这会对某人有所帮助。

当您只看到一个空白页而除了空白页之外没有其他任何响应时,则可能是由于以下两种原因之一。我确定还有其他人,但是我看到的是这两个人。

  1. 损坏的web.config
  2. 与IIS冲突的web.config。当特定部分锁定在IIS配置中时,可能会发生这种情况。