2

Global.asax の Owin IAppBuilder インスタンスからプロパティを取得したいと考えています。これを行う唯一の方法は、単にコールバックを利用するために、気にしないパスで MapOwinPath を使用することです (以下のサンプルを参照)。偽のルートを登録する必要なく IAppBuilder インスタンスにアクセスするよりクリーンな方法はありますか?

public static class HostingUtils
{
    private static readonly Lazy<CancellationToken> shutdownToken = new Lazy<CancellationToken>(GetOwinShutdownToken);

    public static CancellationToken ShutdownToken { get { return shutdownToken.Value; } }

    private static CancellationToken GetOwinShutdownToken()
    {
        CancellationToken? token = null;

        new RouteCollection().MapOwinPath("hack", "hack",
            map => token = map.Properties["host.OnAppDisposing"] as CancellationToken?);

        return token.GetValueOrDefault(CancellationToken.None);
    }
}
4

0 に答える 0