Skip to content

Instantly share code, notes, and snippets.

View DamianEdwards's full-sized avatar
🏠
Working from home

Damian Edwards DamianEdwards

🏠
Working from home
View GitHub Profile
@DamianEdwards
DamianEdwards / server.cs
Created February 25, 2021 01:31
Simplified ASP.NET Core app exploration
#!/usr/bin/env dotnet run
var builder = WebApplication.CreateBuilder(args);
var config = builder.Configuration;
var connString = config["connectionString"] ?? "Data Source=todos.db";
builder.AddDbContext<TodoDb>(options => options.UseSqlite(connString));
builder.AddSqlite<Todo>(connString) // Higher level API perhaps?
var app = builder.Build();
2020-03-28 17:23:24,672 WARN 1 OutlookGoogleCalendarSync.OutlookOgcs.Calendar [0] - Sorry, something went wrong. You may want to try again.
2020-03-28 17:24:27,598 WARN 1 OutlookGoogleCalendarSync.Sync.PushSyncTimer [0] - Push Sync failed 3277 times to check for changed items.
2020-03-28 17:24:27,600 ERROR 1 OutlookGoogleCalendarSync.OGCSexception [0] - System.Runtime.InteropServices.COMException: Sorry, something went wrong. You may want to try again.
2020-03-28 17:24:27,601 ERROR 1 OutlookGoogleCalendarSync.OGCSexception [0] - Code: 0x85270057;-2061041577
2020-03-28 17:24:55,940 WARN 1 OutlookGoogleCalendarSync.OutlookOgcs.Calendar [0] - Sorry, something went wrong. You may want to try again.
2020-03-28 17:24:59,851 WARN 1 OutlookGoogleCalendarSync.Sync.PushSyncTimer [0] - Push Sync failed 3278 times to check for changed items.
2020-03-28 17:24:59,851 ERROR 1 OutlookGoogleCalendarSync.OGCSexception [0] - System.Runtime.InteropServices.COMException: Sorry, something went wrong. You may want to
@DamianEdwards
DamianEdwards / certs.ps1
Last active March 27, 2020 23:40
Self-signed certificate experiments
# Generate root cert
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=AspNetCoreCertAuthRoot" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
# Make sure to trust this root cert
# Generate child cert with Client Authentication OID
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
@DamianEdwards
DamianEdwards / azure-pipelines.yaml
Created March 25, 2020 23:21
.NET Core Azure stuff
# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
trigger:
branches:
include:
- master
paths:
@DamianEdwards
DamianEdwards / ComponentTagHelper.cs
Created September 5, 2019 22:49
ComponentTagHelper
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace SampleTagHelpers
{
[HtmlTargetElement("component")]
@DamianEdwards
DamianEdwards / app.csproj
Created July 3, 2019 19:40
.NET Core daily build feeds
<Project>
<PropertyGroup>
<!-- .NET Core daily build feeds, put this in your project's csproj or solution Directory.Build.props -->
<RestoreSources>
$(RestoreSources);
https://api.nuget.org/v3/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;
https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json;
https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json;
https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json;
@DamianEdwards
DamianEdwards / Script.md
Last active June 14, 2017 08:52
NDC Oslo 2017 - What's new in ASP.NET Core 2.0
  1. File new Razor Pages project
  2. Open Program.cs and talk about WebHost.CreateDefaultBuilder
  3. Show configuration & logging WebHostBuilder APIs
  4. Open Startup.cs
  5. Show IConfiguration is now injected 'cos it's in DI
  6. Show that all the configuration logger setup is gone 'cos it's defaulted by WebHOst.CreateDefaultBuilder
  7. Add authentication for Twitter & Google
  8. Show that all the APIs are now available by default because of the new Microsoft.AspNetCore.All meta-package
  9. Open the CSPROJ and show how simple it is with just the single package
  10. Talk about the new runtime store that ensures all the packages aren't deployed with the application
@DamianEdwards
DamianEdwards / Program.cs
Created March 27, 2017 17:55
Simpler ASP.NET Core startup?
using System;
using System.Task;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
namespace HelloWorld
{
public class Program
@DamianEdwards
DamianEdwards / SignalRCore.md
Last active January 18, 2017 15:49
NDC London SignalR Core
  • Still very early days so much of this could change
  • Architecture diagram: Sockets vs. SignalR
  • SignalR Core new features
    • non-HTTP
    • Binary support
    • Endpoint API & formatters
    • Custom protocols
    • No-jQuery dependency (works in Web Workers & Node.JS now)
    • Pure WebSocket client
  • Get results from client invocations
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using WebApplication21.Data;
using WebApplication21.Models;
namespace WebApplication21.Controllers
{