本文整理汇总了C#中ServiceCollection.Scoped方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceCollection.Scoped方法的具体用法?C# ServiceCollection.Scoped怎么用?C# ServiceCollection.Scoped使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceCollection
的用法示例。
在下文中一共展示了ServiceCollection.Scoped方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: MyClassInitialize
public static void MyClassInitialize(TestContext testContext)
{
var serviceCollection = new ServiceCollection();
serviceCollection.Transient<IDocumentService>(p => new RepositoryService());
// prepare substitude of IUnitOfWork;
var unitOfWork = Substitute.For<IUnitOfWork>();
unitOfWork.When(s => s.SaveChanges())
.Do(c => saveAllChanges = true);
serviceCollection.Scoped<IUnitOfWork>(p => unitOfWork);
serviceCollection.Scoped(typeof(IRepository<>), typeof(SubRepository<>));
serviceCollection.Update();
}
示例3: GetGenericServiceTest
public void GetGenericServiceTest()
{
var serviceCollection = new ServiceCollection();
serviceCollection.Scoped(typeof(IGenericFooService<>), typeof(GenericFooService<>));
serviceCollection.Update();
var actual = ServiceProvider.Current.GetService<IGenericFooService<int>>();
Assert.IsNotNull(actual);
}
示例4: GetGenericInstanceTest
public void GetGenericInstanceTest()
{
var serviceCollection = new ServiceCollection();
var expected = new GenericFooService<int>();
expected.Value = 4;
serviceCollection.Scoped(typeof(IGenericFooService<>), provider => new GenericFooService<int>());
serviceCollection.Update();
var actual = ServiceProvider.Current.GetService<IGenericFooService<int>>();
Assert.AreEqual(expected.Value, actual.Value);
}
示例5: 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();
}
示例6: GetServiceTest
public void GetServiceTest()
{
var serviceCollection = new ServiceCollection();
serviceCollection.Scoped<IFooService, FooService>();
serviceCollection.Update();
var actual = ServiceProvider.Current.GetService<IFooService>();
Assert.IsNotNull(actual);
}
示例7: GetInstanceTest
public void GetInstanceTest()
{
var serviceCollection = new ServiceCollection();
var expected = new FooService();
expected.Value = 4;
serviceCollection.Scoped<IFooService>(provider => expected);
serviceCollection.Update();
var actual = ServiceProvider.Current.GetService<IFooService>();
Assert.AreEqual(expected.Value, actual.Value);
}