我正在开发一个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。我的项目有什么问题?
答案 0 :(得分:0)
如果您已从当前模板集创建项目,则会启用Application Insights。这为我解决了这个问题:
在Program.cs中,将以下方法添加到WebHost.CreatDefaultBuilder中:
.UseApplicationInsights()
答案 1 :(得分:0)
我在这里玩游戏有些迟了,但是我看不到其他人在回答。希望这会对某人有所帮助。
当您只看到一个空白页而除了空白页之外没有其他任何响应时,则可能是由于以下两种原因之一。我确定还有其他人,但是我看到的是这两个人。