本文整理汇总了C#中ServiceCollection.Singleton方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceCollection.Singleton方法的具体用法?C# ServiceCollection.Singleton怎么用?C# ServiceCollection.Singleton使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceCollection
的用法示例。
在下文中一共展示了ServiceCollection.Singleton方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
public static void Run()
{
var store = new EmbeddableDocumentStore();
store.Initialize();
store.Conventions.AllowQueriesOnId = true;
var context = new RavenDbContext(store);
var serviceCollection = new ServiceCollection();
serviceCollection.Singleton<IDocumentStore>(provider => store);
serviceCollection.Scoped<IUnitOfWork, RavenDbContext>();
serviceCollection.Scoped(typeof(IRepository<>), typeof(RavenDbRepository<>));
serviceCollection.Update();
}
示例2: Run
public static void Run()
{
var serviceCollection = new ServiceCollection();
var dictionary = new Dictionary<int, object>();
dictionary.Add(typeof(MongoSettings).GetHashCode(), new MongoSettings {
DatabaseName = "MetadataStore",
Host = "localhost",
Port = 27017,
Timeout = 2
});
// Register ISettingsProvider as singleton.;
var provider = new DictionarySettingProvider(dictionary);
serviceCollection.Singleton<ISettingsProvider>(p => provider);
serviceCollection.Scoped<IUnitOfWork, MongoContext>();
serviceCollection.Scoped(typeof(IRepository<>), typeof(MongoRepository<>));
// Update registration.
serviceCollection.Update();
}
示例3: Init
public static void Init(TestContext testContext)
{
var serviceCollection = new ServiceCollection();
// Register ISettingsProvider as singleton.;
var provider = Substitute.For<ISettingsProvider>();
provider
.Get<MongoSettings>()
.Returns(settings);
serviceCollection.Singleton<ISettingsProvider>(p => provider);
// Update registration.
serviceCollection.Update();
// Check if MongoDB is alive.
Yekzen.QualityTools.UnitTest.ExceptionAssert.InconclusiveWhenThrows<UnreachableException>(() => { new MongoContext(); });
}