Configuration Hocon的Akka.net asp.net 5 mvc 6配置

Configuration Hocon的Akka.net asp.net 5 mvc 6配置,configuration,asp.net-core-mvc,asp.net-core-1.0,akka.net,Configuration,Asp.net Core Mvc,Asp.net Core 1.0,Akka.net,我目前正在尝试使用akka.net,但他们使用的配置HOCON与配置app.json时通常使用的json语法不同 我们的应用程序。 有人知道如何在当前app.json配置中使用HOCON吗?您可以将HOCON放入自己的文本文件中,然后执行以下操作: // ///用于从专用HOCON文件加载HOCON定义 /// 公共静态类HoconLoader { /// ///从基础文件解析HOCON对象 /// ///HOCON文件的路径。 ///已解析的对象。 公共静态配置FromFile(字符串路

我目前正在尝试使用akka.net,但他们使用的配置HOCON与配置app.json时通常使用的json语法不同 我们的应用程序。
有人知道如何在当前app.json配置中使用HOCON吗?

您可以将HOCON放入自己的文本文件中,然后执行以下操作:

//
///用于从专用HOCON文件加载HOCON定义
/// 
公共静态类HoconLoader
{
/// 
///从基础文件解析HOCON对象
/// 
///HOCON文件的路径。
///已解析的对象。
公共静态配置FromFile(字符串路径)
{
返回ConfigurationFactory.ParseString(File.ReadAllText(path));
}
}
然后将该hocon对象传递到ActorSystem.Create(字符串名,配置)


不要忘记tp生成文件“始终复制”或“更新时复制”

我使用ConfigurationFactory.FromObject和一些具有我感兴趣的属性的类从appsettings读取akka配置

var config=ConfigurationFactory.FromObject(新的{akka=configuration.GetSection(“akka”).Get();
actorSystem=actorSystem.Create(“Stimpy”,config);
请注意,我并没有费心去弄清楚如何从appsettings解析烤肉串案例属性。因此,我刚刚重命名了不包括连字符的属性。然后将JsonProperty属性设置为正确的名称,以便FromObject可以正确地反序列化它

public类AkkaConfig
{
[JsonProperty(PropertyName=“启动时日志配置”)]
公共字符串logconfigonstart{get;set;}
[JsonProperty(PropertyName=“stdout loglevel”)]
公共字符串stdoutloglevel{get;set;}
公共字符串日志级别{get;set;}
公共字符串[]记录器{get;set;}
public ActorConfig actor{get;set;}
公共类ActorConfig
{
公共DebugConfig调试{get;set;}
公共字典序列化程序{get;set;}
[JsonProperty(PropertyName=“序列化绑定”)]
公共字典序列化绑定{get;set;}
公共类DebugConfig
{
公共字符串接收{get;set;}
公共字符串自动接收{get;set;}
公共字符串生命周期{get;set;}
[JsonProperty(PropertyName=“事件流”)]
公共字符串eventstream{get;set;}
未处理的公共字符串{get;set;}
}
}
}
appsettings.json:


你在用.net core吗?@profesor79是的,我在用.net core在akka.net gitter room@profesor79问这个问题,我一直在看聊天室,没有人回答这个问题,所以-把这个作为答案-会帮助其他人
{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Trace"
    }
  },
  "Hosting": {
    "Url": "http://*:1890"
  },

  "Akka": {
    "logconfigonstart":"on",
    "stdoutloglevel":"INFO",
    "loglevel": "DEBUG",
    "loggers": [ "Akka.Logger.NLog.NLogLogger, Akka.Logger.NLog" ],

    "actor": {
      "debug": {
        "receive": "on",
        "autoreceive": "on",
        "lifecycle": "on",
        "eventstream": "on",
        "unhandled": "on"
      },
      "serializers": {
        "hyperion": "Akka.Serialization.HyperionSerializer, Akka.Serialization.Hyperion"
      },
      "serializationbindings": {
        "System.Object": "hyperion"
      }
    }
  }
}