Skip to content

Instantly share code, notes, and snippets.

View kasunkv's full-sized avatar
💭
I may be slow to respond.

Kasun Kodagoda kasunkv

💭
I may be slow to respond.
View GitHub Profile
@kasunkv
kasunkv / Install.ps1
Created January 29, 2020 14:44
Installing required packages
Install-Package Microsoft.Azure.AppConfiguration.AspNetCore -Version 3.0.0-preview-011100002-1192
Install-Package Azure.Identity -Version 1.1.0
@kasunkv
kasunkv / Program.cs
Created January 29, 2020 14:41
Using System Assigned Managed identity to access Azure App Configuration
using Azure.Identity;
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
@kasunkv
kasunkv / Program.cs
Created January 25, 2020 20:04
Using a label to filter feature flags on Azure App Configuration
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => {
webBuilder.UseStartup<Startup>();
@kasunkv
kasunkv / Program.cs
Created January 25, 2020 18:25
Custom set the cache expiry for Azure App Configuration Feature Management
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => {
webBuilder.UseStartup<Startup>();
@kasunkv
kasunkv / Startup.cs
Created January 25, 2020 06:38
Configure middleware pipeline to use Azure App Configuration
namespace MusicStore.Web
{
public class Startup
{
...
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseAzureAppConfiguration();
@kasunkv
kasunkv / Program.cs
Created January 25, 2020 06:17
Configuring Azure App Configuration
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
namespace MusicStore.Web
{
public class Program
{
public static void Main(string[] args)
{
@kasunkv
kasunkv / Startup.cs
Created January 19, 2020 18:51
Registering the IDisabledFeatureHandler implementation
namespace MusicStore.Web
{
public class Startup
{
...
public void ConfigureServices(IServiceCollection services)
{
...
@kasunkv
kasunkv / DisabledFeature.cshtml
Created January 19, 2020 18:47
View for the disabled feature navigation
@model DisabledFeatureViewModel
@{
ViewData["Title"] = "Feature Disabled";
}
<div class="text-center">
<div class="row">
<img class="col-md-8 offset-2 img-fluid" src="~/img/feature_disabled.png" alt="feature disavled" />
</div>
<div class="text-center">
<p class="lead "><b>@Model.FeatureName</b> feature you are trying to access is disabled. Planned date for @Model.FeatureName feature to come online is on <b>@Model.GoLiveDate.ToLocalTime()</b>.</p>
@kasunkv
kasunkv / DisabledFeatureViewModel.cs
Created January 19, 2020 18:46
DisabledFeatureViewModel
using System;
namespace MusicStore.Web.Models
{
public class DisabledFeatureViewModel
{
public string FeatureName { get; set; }
public DateTimeOffset GoLiveDate { get; set; }
}
}
@kasunkv
kasunkv / MusicStoreDisabledFeaturesHandler.cs
Created January 19, 2020 18:43
Custom implementation for IDisabledFeaturesHandler
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.FeatureManagement.Mvc;
using MusicStore.Web.Models;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Mvc.ModelBinding;