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 / Startup.cs
Created January 19, 2020 06:00
Registering Percentage Filter in ConfigureServices()
using Microsoft.FeatureManagement;
using Microsoft.FeatureManagement.FeatureFilters;
namespace MusicStore.Web
{
public class Startup
{
...
public void ConfigureServices(IServiceCollection services)
@kasunkv
kasunkv / appsettings.json
Created January 19, 2020 06:28
Enabling Microoft.TimeWindow feature filter.
{
...
"FeatureManagement": {
...
"Suggestion.User": {
"EnabledFor": [
{
"Name": "Microsoft.TimeWindow",
"Parameters": {
@kasunkv
kasunkv / Startup.cs
Created January 19, 2020 06:30
Register Microsoft.TimeWindow feature filter in Startup.cs
using Microsoft.FeatureManagement;
using Microsoft.FeatureManagement.FeatureFilters;
namespace MusicStore.Web
{
public class Startup
{
...
public void ConfigureServices(IServiceCollection services)
@kasunkv
kasunkv / BrowserFilter.cs
Created January 19, 2020 13:09
Custom Implementation of IFeatureFilter
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Microsoft.FeatureManagement;
using System;
using System.Linq;
using System.Threading.Tasks;
namespace MusicStore.Web.FeatureManagement.Filters
{
@kasunkv
kasunkv / Startup.cs
Created January 19, 2020 13:44
Registering the custom IFeatureFilter implementation
namespace MusicStore.Web
{
public class Startup
{
...
public void ConfigureServices(IServiceCollection services)
{
...
@kasunkv
kasunkv / appsettings.json
Created January 19, 2020 13:50
Using the MusicStore.Browser feature filter
{
...
"FeatureManagement": {
...
"Suggestion.User": {
"EnabledFor": [
{
@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;
@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 / 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 / Startup.cs
Created January 19, 2020 18:51
Registering the IDisabledFeatureHandler implementation
namespace MusicStore.Web
{
public class Startup
{
...
public void ConfigureServices(IServiceCollection services)
{
...