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 / Program.cs
Created February 4, 2020 07:19
Using DefaultAzureCredential to run the application locally and in the Cloud
using Azure.Identity;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
@kasunkv
kasunkv / _Layout.cshtml
Created February 3, 2020 18:31
Update the Music Store layout file.
<!DOCTYPE html>
<html lang="en">
...
<footer class="border-top footer text-muted">
<div class="container">
Music Store &copy; 2020 - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy Policy</a> | Secret: @Settings.Value.Identity.Secret
</div>
</footer>
@kasunkv
kasunkv / AppSettings.cs
Created February 3, 2020 18:28
AppSettings
namespace MusicStore.Shared
{
public class AppSettings
{
public Discount Discount { get; set; }
public Identity Identity { get; set; }
}
public class Discount
{
@kasunkv
kasunkv / Program.cs
Created February 3, 2020 18:12
Configure Azure Key Vault to work with Azure App Configuration
using Azure.Identity;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
@kasunkv
kasunkv / Program.cs
Created February 3, 2020 07:55
Using LocalFileOfflineCache implementation
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => {
webBuilder.UseStartup<Startup>();
})
.ConfigureAppConfiguration((context, config) => {
var settings = config.Build();
var appConfigEndpoint = settings["AppSettings:AppConfiguration:Endpoint"];
if (!string.IsNullOrEmpty(appConfigEndpoint))
@kasunkv
kasunkv / LocalFileOfflineCache.cs
Created February 3, 2020 07:11
Custom IOfflineCache implementation for Azure App Configuration
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
using Microsoft.Extensions.Hosting;
using System.IO;
namespace MusicStore.Web.Cache
{
public class LocalFileOfflineCache : IOfflineCache
{
private readonly string _cacheFilePath;
@kasunkv
kasunkv / Program.cs
Created February 2, 2020 19:41
Configuring offline caching for Azure App Configuration
using Azure.Identity;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
namespace MusicStore.Web
{
public class Program
{
..
public static IHostBuilder CreateHostBuilder(string[] args) =>
@kasunkv
kasunkv / Program.cs
Created February 2, 2020 16:49
Configure Cache Expiry time for the App Configuration dynamic refresh
using Azure.Identity;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
namespace MusicStore.Web
{
public class Program
{
...
public static IHostBuilder CreateHostBuilder(string[] args) =>
@kasunkv
kasunkv / Program.cs
Created February 2, 2020 15:20
Configure dynamic refresh for Azure App Configuration
using Azure.Identity;
using Microsoft.Extensions.Configuration.AzureAppConfiguration;
namespace MusicStore.Web
{
public class Program
{
..
public static IHostBuilder CreateHostBuilder(string[] args) =>
@kasunkv
kasunkv / Program.cs
Created January 29, 2020 16:14
Use user-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)