public class Program
{
public static void Main(string[] args)
{
try
{
//貌似解決中文亂碼的
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var builder = new ServiceHostBuilder();
var host = builder.RegisterServices((container) =>
{
}).UseWeb()
.Build();
host.Run();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
我把原先的啟動的代碼放在UseWeb里了,部署到docker訪問不了,但是本地直接啟動是可以訪問的。
docker run --name netcore-web -d -p 8999:80 core-web 啟動
public static IServiceHostBuilder UseWeb(this IServiceHostBuilder serviceHostBuilder)
{
var executeAss = Assembly.GetCallingAssembly();
var path = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location);
var viewDll = Path.Combine(path, executeAss.GetName().Name + ".Views.dll");
Assembly viewAsm = null;
if (File.Exists(viewDll))
{
viewAsm = Assembly.LoadFrom(viewDll);
}
serviceHostBuilder.AddHostService((IHostBuilder hostBuilder) =>
{
hostBuilder.ConfigureWebHostDefaults(webHostBuilder =>
{
webHostBuilder
.ConfigureServices(services =>
{
services.AddControllersWithViews();
var mvcBuilder = services.AddMvc();
if (viewAsm != null)
{
mvcBuilder.AddApplicationPart(viewAsm);
}
mvcBuilder.AddApplicationPart(executeAss);
})
.Configure((context, app) =>
{
if (context.HostingEnvironment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
});
});
});
return serviceHostBuilder;
}
uj5u.com熱心網友回復:
你是不是連接不了資料庫,先看你安裝的容器是否啟動,你也可以除錯一下你的容器,看是在那一步不行了uj5u.com熱心網友回復:
docker logs --since 30m 容器ID轉載請註明出處,本文鏈接:https://www.uj5u.com/net/6815.html
標籤:ASP.NET
