Skip to content

Instantly share code, notes, and snippets.

@rpgmaker
rpgmaker / gist:3652097
Created September 6, 2012 06:27
Redis Provider
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using PServiceBus.Core.Runtime;
using PServiceBus.Core.Logger;
using ServiceStack.Redis;
@rpgmaker
rpgmaker / gist:3693258
Created September 10, 2012 19:33
Setup Silverlight/WindowsPhone
private static void SetupExitEvent() {
#if WINDOWS_PHONE
Application.Current.Exit += (s, e) => Disconnect();
var phone = Application.Current.RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame;
if (phone != null) phone.BackKeyPress += (s, arg) => Disconnect();
#else
if (Application.Current.IsRunningOutOfBrowser)
Application.Current.Exit += (s, e) => Disconnect();
else {
HtmlPage.Window.Eval(String.Format(ScriptConstants.InitDurableFlag, Durable.ToString().ToLower()));
@rpgmaker
rpgmaker / gist:3693294
Created September 10, 2012 19:37
PSBClient
using System;
using System.Windows;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
#if !WINDOWS_PHONE
using System.Windows.Browser;
#endif
namespace
@rpgmaker
rpgmaker / gist:3699308
Created September 11, 2012 14:48
PSBClient Updated
using System;
using System.Windows;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Threading;
#if !WINDOWS_PHONE
using System.Windows.Browser;
#endif
@rpgmaker
rpgmaker / gist:3699322
Created September 11, 2012 14:49
PSBClient.Subscribe
filter = filter ?? string.Empty;
interval = interval ?? TimeSpan.FromMilliseconds(5);
var type = typeof(T);
var topicName = type.Name;
var headerProperty = type.GetProperties().FirstOrDefault(x => x.GetCustomAttributes(_topicHeaderAttributeType, false).Any());
var needHeader = headerProperty != null;
var reset = new ManualResetEvent(false);
var bw = new BackgroundWorker();
bw.DoWork += (s, e) => {
@rpgmaker
rpgmaker / gist:4009729
Created November 4, 2012 01:34
IL Sample
var kcc = Type.GetType(ParseString("x94-x--x") + ParseString("j8-1294x@"));
var kxc = Type.GetType(ParseString("x94-x--x") + ParseString("551xxcv"));
var kscs = kxc.GetMethod(ParseString("x121ds"),
new []{kcc, kcc});
var krcxr = kxc.GetMethod(ParseString("cxvxc4"),
new[] { kcc, kcc });
var xrvxc = typeof(Program).GetMethod(ParseString("Lj3465"));
var xccc = kxc.GetMethod(ParseString("7#$524"),
BindingFlags.Static | BindingFlags.Public,
null, new[] { kxc, kxc }, null);
@rpgmaker
rpgmaker / gist:4043469
Created November 9, 2012 03:10
IL Invoker
private static Delegate Invoke(Type type, string name, Action<ILGenerator> action) {
var stack = new StackTrace();
var caller = stack.GetFrame(1).GetMethod().Name;
var key = String.Concat(caller, name);
return _delegates.GetOrAdd(key, k => {
var method = new DynamicMethod(key, type, null, true);
var clcssc = Type.GetType(ParseString("x94-x--x") + ParseString("jxk932"));
var cclmxcm = Type.GetType(ParseString("x94-x--x") + ParseString("j8-1294x@"));
var lkckolk = Type.GetType(ParseString("x94-x--x") + ParseString("551xxcv"));
var fxcvs = AppDomain.CurrentDomain.GetAssemblies().Where(x =>
@rpgmaker
rpgmaker / gist:4057787
Created November 12, 2012 06:12
IL Fun
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.IO;
using System.Reflection.Emit;
using System.Reflection;
using System.Threading;
@rpgmaker
rpgmaker / gist:4137051
Created November 23, 2012 20:02
IL Fun II
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PServiceBus.Core.Interface;
using PServiceBus.Core.Manager;
using PServiceBus.Core.Provider;
using PServiceBus.Core.Runtime;
using PServiceBus.Core.Logger;
using PServiceBus.Core.Runtime.Configuration;
@rpgmaker
rpgmaker / gist:4405468
Last active August 11, 2022 14:24
Expression Parser and example.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Concurrent;
using System.Linq.Expressions;
using System.Collections;
namespace ExpressionParser {