当前位置: 首页>>代码示例>>C#>>正文


C# Cache.GetOrCreate方法代码示例

本文整理汇总了C#中Cache.GetOrCreate方法的典型用法代码示例。如果您正苦于以下问题:C# Cache.GetOrCreate方法的具体用法?C# Cache.GetOrCreate怎么用?C# Cache.GetOrCreate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cache的用法示例。


在下文中一共展示了Cache.GetOrCreate方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Listing

        public Listing(
            CarsContext context,
            Cache cache,
            SourceSite source,
            string sourceId,
            string make,
            string model,
            int year,
            int price,
            int mileage,
            string location,
            string description)
        {
            Active = true;
            DateAdded = DateTime.Now;
            DateLastSeen = DateTime.Now;

            Source = source;
            SourceId = sourceId;
            Year = year;
            Price = price;
            Mileage = mileage;
            Description = description;

            MakeId = cache.GetOrCreate<Make>(make, () => context.Set<Make>().GetOrCreate(make));
            ModelId = cache.GetOrCreate<Model>(model, () => context.Set<Model>().GetOrCreate(model));

            County = EnumHelpers.FromString<County>(location);
        }
开发者ID:pfarrel,项目名称:cars,代码行数:29,代码来源:Listing.cs

示例2: GetOrCreateMake_CallWhenNotInCache

        public void GetOrCreateMake_CallWhenNotInCache()
        {
            var cache = new Cache();
            var mockGetOrCreate = MockRepository.GenerateMock<Func<int>>();

            cache.GetOrCreate<Make>("_", mockGetOrCreate);

            mockGetOrCreate.AssertWasCalled(a => a.Invoke());
        }
开发者ID:pfarrel,项目名称:cars,代码行数:9,代码来源:CacheTest.cs

示例3: UpdateCore

    private static void UpdateCore(Cache cache)
    {
        cache.GetOrCreate<object>(UpdatedStatsCacheKey, () => {
            using (var db = Database.Open("Stats")) {
                DateTime? lastLog = db.QueryValue("Select top 1 LogTime from Stats order by LogTime desc");
                if (!lastLog.HasValue || DateTime.UtcNow.Subtract(lastLog.Value).TotalMinutes > 30) {
                    Statistics stats = PackageRepository.GetCurrentStatistics(cache);

                    db.Execute("Insert into Stats (LogTime, Downloads, UniquePackages, TotalPackages) values (GETUTCDATE(), @0, @1, @2)",
                        stats.TotalDownloads,
                        stats.UniqueCount,
                        stats.TotalCount);
                }
            }

            return new object();

        }, TimeSpan.FromMinutes(5));
    }
开发者ID:anurse,项目名称:psget-stats,代码行数:19,代码来源:NuGetStatistics.cs

示例4: GetCurrentStatistics

 public static Statistics GetCurrentStatistics(Cache cache)
 {
     return cache.GetOrCreate<Statistics>("repositoryStats", GetStatisticsInternal, CacheTime);
 }
开发者ID:anurse,项目名称:psget-stats,代码行数:4,代码来源:PackageRepository.cs

示例5: GetMetaStatistics

 public static MetaStatistics GetMetaStatistics(Cache cache)
 {
     return cache.GetOrCreate<MetaStatistics>("metastats", () => GetMetaStatisticsCore(cache), PackageRepository.CacheTime);
 }
开发者ID:anurse,项目名称:psget-stats,代码行数:4,代码来源:NuGetStatistics.cs


注:本文中的Cache.GetOrCreate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。