私は現在、akka.netを使用しようとしていますが、HOCONを使用する設定は、 アプリケーションを設定するときに通常app.jsonで使用されるjson構文とは異なる構文です。 現在のapp.json設定でHOCONを使用する方法を知っている人はいますか?Akka.net asp.net 5 mvc 6 for Hocon
2
A
答えて
1
何ができることは、独自のテキストファイルにHOCONを入れた後、次のコマンドを実行します
/// <summary>
/// Used to load HOCON definitions from a dedicated HOCON file
/// </summary>
public static class HoconLoader
{
/// <summary>
/// Parses a HOCON <see cref="Config" /> object from an underlying file
/// </summary>
/// <param name="path">The path to the HOCON file.</param>
/// <returns>A parsed <see cref="Config" /> object.</returns>
public static Config FromFile(string path)
{
return ConfigurationFactory.ParseString(File.ReadAllText(path));
}
}
その後
ActorSystem.Create(文字列名、コンフィグ設定)にそのhoconオブジェクトを渡しますファイルを「常にコピーする」または「コピーするならばコピーする」
0
私はConfigurationFactory.FromObjectと、appsettingsからakka-configを読むのに興味があるプロパティを持ついくつかのクラスを使用します。
var config = ConfigurationFactory.FromObject(new { akka = configuration.GetSection("Akka").Get<AkkaConfig>() });
actorSystem = ActorSystem.Create("Stimpy", config);
私は、appsettingsからkebab-caseプロパティを解析する方法を理解するのに気を配りませんでした。だから私はハイフンを除いてプロパティの名前を変更しました。次に、JsonProperty属性を正しい名前に設定して、FromObjectが正しく非直列化できるようにします。
public class AkkaConfig
{
[JsonProperty(PropertyName = "log-config-on-start")]
public string logconfigonstart { get; set; }
[JsonProperty(PropertyName = "stdout-loglevel")]
public string stdoutloglevel { get; set; }
public string loglevel { get; set; }
public string[] loggers { get; set; }
public ActorConfig actor { get; set; }
public class ActorConfig
{
public DebugConfig debug { get; set; }
public Dictionary<string, string> serializers { get; set; }
[JsonProperty(PropertyName = "serialization-bindings")]
public Dictionary<string, string> serializationbindings { get; set; }
public class DebugConfig
{
public string receive { get; set; }
public string autoreceive { get; set; }
public string lifecycle { get; set; }
[JsonProperty(PropertyName = "event-stream")]
public string eventstream { get; set; }
public string unhandled { get; set; }
}
}
}
appsettings.json:
{
"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"
}
}
}
}
関連する問題
- 1. ASP.NET 5(MVC 6) - リソースローカライゼーション
- 2. C#ASP.NET 5 MVC 6
- 3. ASP.NET 5のラジオボタンタグヘルパーMVC 6
- 4. Akka.Net用の完全なHOCON設定
- 5. LinkedIn for ASP.NET MVC 5アプリケーション
- 6. ASP.NETのポリシーに相当MVC for MVC 5
- 7. カスタムクラスのアプリケーション設定ASP.Net 5 MVC 6
- 8. Asp.net 5(およびMVC 6)ホスティング
- 9. ASP.NET 5でクライアントIPv4を取得MVC 6
- 10. ASP.NET 5 MVC 6 +残りのAPI ID
- 11. Asp.Net 5 MVC 6 Startup.cs Beta8でのデカップリング
- 12. ASP.NET 5、MVC 6、APIの応答ステータス
- 13. syncfusion asp.net mvc 6 documentation
- 14. ASP.NET MVCコア6
- 15. ASP.NET MVC 5プラグイン
- 16. ASP.Net MVC 5
- 17. MVC 5 Template for Visual Studio 2017
- 18. ASP.NET 5(vNext)MVC 6でカスタムIRouterを実装する
- 19. Asp mvc 5エンティティのフレームワーク6
- 20. ASP.NET MVC 5ルーティングエリア
- 21. ブレッドクラムasp.net mvc 5
- 22. Asp.Net MVC 5 GetAllUsers
- 23. のasp.net MVC 5
- 24. Asp.NET MVC 5 Trace
- 25. ASP.NET MVC 5(アイデンティティ)
- 26. EF 5/6 in ASP.NET Core 2.0
- 27. ASP.netでのエラー処理と混同5 MVC 6
- 28. ASP.NET 5 MVC 6アプリケーション全体を保護する
- 29. ASP.NET 5 MVC 6 NoSQL IDプロバイダを実装する方法
- 30. AzureでGitHubが失敗する(ASP.NET 5およびMVC 6)
は、.NETのコアを使用していますか? – profesor79
@ profesor79はい私は.netのコアを使用しています – HBbaale
akka.net gitter room https://gitter.im/akkadotnet/akka.net – profesor79