Skip to content

Instantly share code, notes, and snippets.

View Anduin2017's full-sized avatar

Anduin Xue Anduin2017

View GitHub Profile
@Anduin2017
Anduin2017 / Program.cs
Created August 10, 2018 02:54
Get difference from C# strings.
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace WhiteBorad
{
public class Program
{
private static int _ContinueStringLength = 5;
public static Commit GetDiff(string sourceString, string targetString)
@Anduin2017
Anduin2017 / connection.cs
Created August 26, 2018 12:53
SQL Server Local DB connection string
Server=(localdb)\\mssqllocaldb;Database=aspnet-MyApp-C54B83E0-93D8-47E7-B98D-C9596AF7DDC3;Trusted_Connection=True;MultipleActiveResultSets=true
@Anduin2017
Anduin2017 / AsyncHelper.cs
Created December 13, 2018 03:07
Run async method sync in C#
public static class AsyncHelper
{
private static readonly TaskFactory _taskFactory = new
TaskFactory(CancellationToken.None,
TaskCreationOptions.None,
TaskContinuationOptions.None,
TaskScheduler.Default);
public static TResult RunSync<TResult>(Func<Task<TResult>> func)
=> _taskFactory
@Anduin2017
Anduin2017 / suspect.md
Created January 23, 2019 09:18
How to repair suspect SQL Server

如何修正Suspect状态的SQL Server

出现数据库Suspect状态后,不要慌。让我来拯救你吧。

Suspect状态是什么

SQL Server本身会以多种方式存储最终份的数据库。包括事务方法、快照方法等。SQL Server会在启动时检查多种方式存储的最终数据的结果,一旦发现任何数据不一致的形态,都会导致数据库无法启动。

所以,遇到这种情况,不要慌。基本上数据都能恢复过来,只是最后恢复起来以后可能不是和当初一致的内容。

@Anduin2017
Anduin2017 / main.cs
Created June 24, 2019 07:12
Auto update database in ASP.NET Core
public static IWebHost MigrateDbContext<TContext>(this IWebHost webHost, Action<TContext, IServiceProvider> seeder = null) where TContext : DbContext
{
using (var scope = webHost.Services.CreateScope())
{
var services = scope.ServiceProvider;
var logger = services.GetRequiredService<ILogger<TContext>>();
var context = services.GetService<TContext>();
var configuration = services.GetService<IConfiguration>();
var env = services.GetService<IHostingEnvironment>();
@Anduin2017
Anduin2017 / limitIp.cs
Last active September 4, 2019 17:00
Limit IP request frenquency
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;
namespace Aiursoft.Pylon.Attributes
{
public class LimitPerMin : ActionFilterAttribute
@Anduin2017
Anduin2017 / main.cs
Created July 2, 2019 15:07
Generate object
using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
namespace Generator
{
public abstract class Conversation
# Variables
$DiskID = "/subscriptions/e82a2bbd-7d7c-4fa7-ad47-bc0feef07aa1/resourceGroups/Anduin/providers/Microsoft.Compute/disks/StarDiskWithOS"# eg. "/subscriptions/203bdbf0-69bd-1a12-a894-a826cf0a34c8/resourcegroups/rg-server1-prod-1/providers/Microsoft.Compute/disks/Server1-Server1"
$VMName = "StarX"
$DiskSizeGB = 90
$AzSubscription = "Visual Studio Enterprise – MPN"
# Script
# Provide your Azure admin credentials
Connect-AzAccount
Effects=AmbientLight.fx,Clarity.fx,DPX.fx,FakeHDR.fx,Sepia.fx
Techniques=AmbientLight,Clarity,DPX,HDR,Tint
TechniqueSorting=AmbientLight,Clarity,DPX,HDR,Tint
[AmbientLight.fx]
alDebug=0
alAdaptBaseMult=0.160000
alInt=1.400000
AL_DirtTex=0
alThreshold=0.000300
@Anduin2017
Anduin2017 / index.html
Created June 22, 2020 06:13
Echo back microphone.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>capture microphone audio into buffer</title>
<script type="text/javascript">
var audioContext = new AudioContext();
if (navigator.getUserMedia) {