(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
sub, sup { | |
/* Specified in % so that the sup/sup is the | |
right size relative to the surrounding text */ | |
font-size: 75%; | |
/* Zero out the line-height so that it doesn't | |
interfere with the positioning that follows */ | |
line-height: 0; | |
/* Where the magic happens: makes all browsers position |
using System; | |
using System.Diagnostics; | |
using System.Linq; | |
using System.Transactions; | |
using Raven.Client; | |
using Raven.Client.Document; | |
using Raven.Client.Linq; | |
public class Program | |
{ |
public sealed class NServiceBusCommitDispatcher : IPublishMessages | |
{ | |
private const string AggregateIdKey = "AggregateId"; | |
private const string CommitVersionKey = "CommitVersion"; | |
private const string EventVersionKey = "EventVersion"; | |
private const string BusPrefixKey = "Bus."; | |
private readonly IBus bus; | |
public NServiceBusCommitDispatcher(IBus bus) | |
{ |
// Written by Peter O. | |
// Any copyright to this work is released to the Public Domain. | |
// https://creativecommons.org/publicdomain/zero/1.0/ | |
// | |
// | |
// | |
using System; | |
using System.Collections.Generic; | |
using System.Globalization; |
<#@ template debug="true" hostspecific="true" language="C#" #> | |
<#@ output encoding="utf-8" extension=".cs"#> | |
<#@ assembly name="EnvDTE" #> | |
<#@ assembly name="EnvDTE80" #> | |
<#@ assembly name="System.Core" #> | |
<#@ assembly name="System.Configuration" #> | |
<#@ import namespace="System.Collections.Generic" #> | |
<#@ import namespace="System.Configuration" #> | |
<#@ import namespace="System.Text.RegularExpressions" #> | |
<#@ import namespace="EnvDTE" #> |
public class CustomHandleErrorAttribute : HandleErrorAttribute | |
{ | |
private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | |
public override void OnException(ExceptionContext filterContext) | |
{ | |
if (!filterContext.HttpContext.IsCustomErrorEnabled) | |
{ | |
return; | |
} |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
/* | |
Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. | |
Microsoft Open Technologies would like to thank its contributors, a list | |
of whom are at http://aspnetwebstack.codeplex.com/wikipage?title=Contributors. | |
Licensed under the Apache License, Version 2.0 (the "License"); you | |
may not use this file except in compliance with the License. You may | |
obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 |
A. IdentityServer3 docs, samples and source code use OIDC & OAuth2 terms interchangeably to refer to same thing in many areas. I think that's make sense because OIDC introduced as complement & extension for OAuth2.
B. IdentityServer3, STS, OP, OIDC server, OAuth2 server, CSP, IDP and others: means same thing (software that provide/issue tokens to clients) as explained in [Terminology] (http://identityserver.github.io/Documentation/docs/overview/terminology.html).
C. Grants and flows mean same thing, grant was the common term in OAuth2 specs and flow is the common term in OIDC specs.
D. This document will not focus on custom flow/grant.
E. [Important] Choosing wrong flow leads to security threat.
<?xml version="1.0"?> | |
<configuration> | |
<system.web> | |
<compilation debug="true" targetFramework="4.5" /> | |
<httpRuntime targetFramework="4.5" /> | |
</system.web> | |
<system.webServer> | |
<rewrite> | |
<rules> |