我可以在ASP.net Core 2.0 Preview中的appsettings.json中设置监听URL吗?

时间:2017-05-22 16:26:36

标签: asp.net-core .net-core appsettings kestrel-http-server

我正在创建一个在.net Core 2.0运行时运行的ASP.net Core 2.0应用程序,这两个应用程序目前都处于预览版本。但是,我无法弄清楚如何让Kestrel使用默认http://localhost:5000监听网址以外的其他内容。

我可以在谷歌谈论server.urls设置的大多数文档,即使在1.0预览中也似乎已被更改为urls,但是不起作用(打开调试日志记录让Kestrel告诉我没有配置监听端点。)

许多文档还讨论了hosting.json并且我无法使用默认的appsettings.json。但是,如果我比较加载新配置的推荐方法,这看起来与新WebHost.CreateDefaultBuilder方法完全一样,除了它加载appsettings.json。

我目前还不了解appsettings.json和IConfigureOptions<T>是如何相关的,所以我的麻烦可能源于对{{3}的缺乏了解实际上确实如此。

4 个答案:

答案 0 :(得分:16)

我使用了这个

public static IWebHost BuildWebHost(string[] args) => 
        WebHost.CreateDefaultBuilder(args)
            .UseConfiguration(new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("hosting.json", optional: true)
                .Build()
            )
            .UseStartup<Startup>()
            .Build();

还有hosting.json

{ "urls": "http://*:5005;" }

答案 1 :(得分:2)

以前适用于我

WebHost.CreateDefaultBuilder(args)
    .UseConfiguration( new ConfigurationBuilder().AddCommandLine(args).Build() )
    .UseStartup<Startup>()
    .Build();

然后

dotnet myapp.dll --urls "http://*:5060;"

答案 2 :(得分:1)

以上都不适合我。这个对我有用:

@PersistenceContext
private EntityManager entityManager;     

public JournalDto findJournalReportData(){
    CriteriaBuilder builder = entityManager.getCriteriaBuilder();            
    CriteriaQuery<JournalDto > query = builder.createQuery(JournalDto.class);         
    Root<JournalDto> dto = query.from(JournalDto.class);
    Root<TxnBalanceEntity> txn = query.from(TxnBalanceEntity.class);
    SetJoin<TxnBalanceEntity, SmsAccountEntity> o = txn.join(SmsAccountEntity.accountNo);

 //..Rest of join statements

}

(将44306更改为您自己喜欢的端口)

StackOverflow answer

可能会有很多帮助

答案 3 :(得分:1)

要在appsettings.json中设置侦听URL,请添加“ Kestrel”部分:

"Kestrel": {
    "EndPoints": {
        "Http": {
            "Url": "http://localhost:5000"
        }
    }
}

参考:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2