c# - 在本地 IIS windows 10 上托管 ASP CORE 2.1
问题描述
我有一个用 c# 网站编写的 ASP CORE 2.1,它在 IIS express 中完美运行并托管在 azure 上。但是当我尝试自己在本地 IIS 上托管它或者只是从 IIS 中的 Visual Studio 运行它(不是 express)时,它不起作用。我得到这个站点无法访问 localhost 拒绝连接。已经敲了我的头两天了,我离得更近了。请帮忙。
要添加详细信息:
程序长这样(使用我今天添加的红隼)
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel()
.UseIISIntegration()
.Build();
}
像这样开始
public class Startup
{
public IConfiguration Configuration { get; set; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>(config => { config.SignIn.RequireConfirmedEmail = true; })
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddTransient<IEmailSender, EmailSender>();
services.AddSingleton(_ => Configuration);
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddMvc();
services.Configure<AuthMessageSenderOptions>(Configuration);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseAuthentication();
app.UseHttpsRedirection();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
认为它的安全相关。昨晚我创建并信任本地开发证书...不确定我做对了但它在那里...我是否必须以某种方式告诉我的网站专门寻找它?
正如我所说,IIS express 完美,Azure 完美,所以我不知道还能做什么。我在这里问,因为我很难过,不要偷懒。我已经安装了 IIS 软件,重新启动,安装了正确的运行时主机软件,重新启动。
另外,发现这是日志:
警告:Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50] 使用内存存储库。密钥不会被持久化到存储中。
警告:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[59] 用户配置文件和 HKLM 注册表都不可用。使用临时密钥存储库。应用程序退出时,受保护的数据将不可用。
警告:Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] 未配置 XML 加密器。密钥 {cfc3f092-a4fc-4b5b-9a64-e7d35b02feff} 可以以未加密的形式保存到存储中。托管环境:生产内容根路径:D:\IIS\SALUSUAVWEBAPP 现在监听:http: //127.0.0.1 :6396 应用程序已启动。按 Ctrl+C 关闭。
警告:Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3] 无法确定重定向的 https 端口。
我现在正在调查这个......这是原因还是只是对不是我真正问题的事情的警告?
解决方案
推荐阅读
- java - Selenium:ElementNotVisibleException 尝试在 https://www.phptravels.net/ 上单击带有文本作为我的帐户的元素
- c# - MVVM WPF 一项来源两个组合框不同的属性,第二个属性最初没有设置
- php - Laravel 不允许
- mysql - Rails 5.2 迁移难题,创建主键和外键
- sql - SQL Server 仅显示来自文本的选定文本 - 不起作用
- ruby-on-rails - 防止 Capistrano 部署询问多用户服务器密码
- c# - C# ICMPV6 SocketException:未知错误:-1
- c++ - Visual Studio 编译器的 record-gcc-switches 等效项是什么?
- c# - 多个ajax同时发送,时间响应慢
- atom-editor - 在 Atom 中跳转到上一个/下一个空白行的方法?