コード例 #1
0
        protected override async ValueTask <ICacheService> CreateCacheServiceAsync(CancellationToken cancellationToken)
        {
            // Directly access VS' CacheService through their library and not as a brokered service. Then create our
            // wrapper CloudCacheService directly on that instance.
            var authorizationServiceClient = new AuthorizationServiceClient(new AuthorizationServiceMock());
            var solutionService            = new SolutionServiceMock();
            var fileSystem    = new FileSystemServiceMock();
            var serviceBroker = new ServiceBrokerMock()
            {
                BrokeredServices =
                {
                    { VisualStudioServices.VS2019_10.SolutionService.Moniker, solutionService                },
                    { VisualStudioServices.VS2019_10.FileSystem.Moniker,      fileSystem                     },
                    { FrameworkServices.Authorization.Moniker,                new AuthorizationServiceMock() },
                },
            };

            var someContext = new CacheContext {
                RelativePathBase = _relativePathBase
            };
            var pool          = new SqliteConnectionPool();
            var activeContext = await pool.ActivateContextAsync(someContext, default);

            var cacheService = new CacheService(activeContext, serviceBroker, authorizationServiceClient, pool);

            return(cacheService);
        }
コード例 #2
0
    public SqliteContext(string databaseFile)
        : base(null)
    {
        var provider = new SqliteConnectionProvider(databaseFile);

        _pool = new SqliteConnectionPool(1, 10, provider);
    }
コード例 #3
0
    public SqliteContext()
        : base(null)
    {
        var provider = BuildSharedMemoryConnectionProvider();

        _pool = new SqliteConnectionPool(1, 10, provider);
    }
コード例 #4
0
 public SqliteContext(ISqliteConnectionProvider connectionProvider)
     : base(null)
 {
     _pool = new SqliteConnectionPool(1, 10, connectionProvider);
 }