私はdotnet/c#のnewbiewで、勉強しようとしています。私は/ initを別のデータベースに接続するサーバーアプリケーションを書いています。 1つはMongoDBです。私は設定マイクロサービスを持っています。私は自分のconfig-serverから得た接続文字列をどうやって保存するのですか?これらのMongoDB exampleから、私は接続文字列を渡す必要があります。私は毎回config-serverから取得したくありません。.NETコアの起動時にデータベース接続を1回だけ設定する方法はありますか。
hereから依存性注入についてのチュートリアルを読むと、これが本当に必要なものかどうかはわかりません。私はから取得せずにConfigctl
からMongoUrl
を埋めたいゲッター/セッターとして
ここに私のトライアウトコードがある..私はセットアップや行為をしたい
私configservice
public class Configctl : IDisposable
{
public static string env;
public Configctl()
{
env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
Console.WriteLine($"ASPNETCORE_ENVIRONMENT/env={env}");
}
public static void ConfigureMongodb()
{
Console.WriteLine($"configure mongodb..");
// var config = await getConfig()
}
}
MongdbContext
毎回Configctl
public class MongdbContext<T> : IDisposable
{
public IMongoDatabase _database { get; }
public IMongoClient _client;
public MongdbContext()
{
var settings = MongoClientSettings.FromUrl(GetMongoURL());
_client = new MongoClient(settings);
_database = _client.GetDatabase("testdb");
}
public void Dispose()
{
Console.WriteLine("mongodb disposed");
}
public static MongoUrl GetMongoURL()
{
return new MongoUrl("mongodb://user:[email protected]:27017/admin");
}
}
と実験のため、私はConfigureServices
からConfigctl
を呼び出してみました。 I多分間違っ..
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(new Configctl());
services.AddMvc();
}
これは幻想的できれいに見えます。私は今これを試してみるつもりです。 – Hokutosei
これは多くの助けてくれてありがとう。ありがとうございました :) – Hokutosei