Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am jelical on github.
  • I am jelical (https://keybase.io/jelical) on keybase.
  • I have a public key ASAgkddYqbnQxHzXCUhLPiHGospQDEe18KiBPGxBQMO3VQo

To claim this, I am signing this object:

using System;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
umask 022
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
create type claim_agg_type as enum ('first','last','any','all','sum','max','min','array_agg');
create type claim_resolution_sources as enum ('global','region','merchant','team','fleet','user','role');
create type claim_value_type as enum ('integer','interval','varchar','float','date');
create table claim_types
(
name varchar not null,
resolution_order claim_resolution_sources[] default array['user','role','merchant','global']::claim_resolution_sources[],
aggregator claim_agg_type default 'array_agg'::claim_agg_type ,
value_type claim_value_type default 'varchar',
using System;
using System.Collections.Concurrent;
using System.Threading;
using System.Threading.Tasks;
namespace Microsoft.Extensions.Caching.Memory
{
/// <summary>
/// Thread safe version of GetOrCreate(Async) using Interlocked
/// </summary>
//Inspired by https://gist.github.com/ttrider/a5ae8fc86ccfe6a4243f4481a5858a80
//Thread safe, Lazy based wrapper for IMemoryCache. Supports multiple IMemoryCache instances
using System;
using System.Collections.Concurrent;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Microsoft.Extensions.Caching.Memory
{