コード例 #1
0
ファイル: WorksService.cs プロジェクト: danielbrenom/Ao3API
        public async Task <List <Work> > Works()
        {
            var webDocument = await _client.GetWorks();

            _cache.GetOrCreate("WorksCache", entry =>
            {
                entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(15);
                entry.SetPriority(CacheItemPriority.High);
                return(WorkAdapter.ExtractWorks(webDocument));
            });
            return(WorkAdapter.ExtractWorks(webDocument));
        }
コード例 #2
0
ファイル: WorksService.cs プロジェクト: danielbrenom/Ao3API
        public async Task <List <Work> > Search(SearchRequest request)
        {
            var searchPattern = request.Query is null ? "" : Regex.Replace(request.Query, @"\s+|\,+", "+");

            searchPattern += string.IsNullOrEmpty(request.Page) ? "&page=1" : $"&page={request.Page}";
            var webDocument = await _client.GetWorks(searchPattern);

            var works = WorkAdapter.ExtractWorks(webDocument);

            _cache.GetOrCreate("WorksCache", entry =>
            {
                entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(15);
                entry.SetPriority(CacheItemPriority.High);
                return(works);
            });
            return(works);
        }