Skip to content

Instantly share code, notes, and snippets.

View davidfowl's full-sized avatar

David Fowler davidfowl

View GitHub Profile
@davidfowl
davidfowl / ConcurrentRequestViewer.cs
Last active December 10, 2015 20:08
Concurrent request middleware (only works on ASP.NET because I'm lazy). Also does not support websocket requests.
private class ConcurrentRequestViewer
{
private readonly Func<IDictionary<string, object>, Task> _next;
private static ConcurrentDictionary<string, Task> _requests = new ConcurrentDictionary<string, Task>();
public ConcurrentRequestViewer(Func<IDictionary<string, object>, Task> next)
{
_next = next;
}
@davidfowl
davidfowl / gist:4559450
Created January 17, 2013 20:29
Generate urls properly on appharbor.
<appSettings>
<add key="aspnet:UseHostHeaderForRequestUrl" value="true"/>
</appSettings>
@davidfowl
davidfowl / Notice.md
Last active December 29, 2016 09:17
Using readonly sessions with SignalR

Session will not work with ASP.NET's websocket implementation. As a result I've deleted the code.

@davidfowl
davidfowl / connection.xml
Last active December 12, 2015 06:28
Enable logging for all transports.
<system.diagnostics>
<sources>
<source name="SignalR.PersistentConnection">
<listeners>
<add name="SignalR" />
</listeners>
</source>
</sources>
<switches>
<add name="SignalRSwitch" value="Information" />
OS Thread Id: 0xf80 (3968)
Child SP IP Call Site
055CEC14 77DF013D [InlinedCallFrame: 055cec14]
DomainNeutralILStubClass.IL_STUB_PInvoke(Microsoft.Win32.SafeHandles.SafeRegistryHandle, System.String, Int32[], Int32 ByRef, Byte[], Int32 ByRef)
055CEC14 67B754ED [InlinedCallFrame: 055cec14] Microsoft.Win32.Win32Native.RegQueryValueEx(Microsoft.Win32.SafeHandles.SafeRegistryHandle, System.String, Int32[], Int32 ByRef, Byte[], Int32 ByRef)
Microsoft.Win32.RegistryKey.InternalGetValue(System.String, System.Object, Boolean, Boolean)
Microsoft.Win32.RegistryKey.GetValue(System.String)
System.Diagnostics.PerformanceMonitor.GetData(System.String)
System.Diagnostics.PerformanceCounterLib.GetPerformanceData(System.String)
System.Diagnostics.PerformanceCounterLib.get_CategoryTable()
@davidfowl
davidfowl / jabbr-lorem.js
Last active December 14, 2015 04:29
Test script for simulating typing in jabbr.
var at = 0;
var words = ["Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.",
"Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.",
"Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.",
"Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.",
"Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem.",
"Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius.",
"Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum.",
"Mirum est notare quam littera gothica, quam nunc putam
@davidfowl
davidfowl / hub.cs
Last active December 14, 2015 17:38
Future of filtering in SignalR
public class MyHub : Hub
{
public Task SendToQuery(string query, string value)
{
// Call the send to everybody that has the specified query string value
return Clients.Query(c => c.QueryString[query] == value).send();
}
}
@davidfowl
davidfowl / gist:5140736
Created March 12, 2013 06:18
I always get this error building SignalR in mono develop and I have no idea what it means...
Building Solution: Microsoft.AspNet.SignalR.Mono (Debug)
Building: Microsoft.AspNet.SignalR.Client (Debug)
Performing main compilation...
/Library/Frameworks/Mono.framework/Versions/2.10.11/bin/dmcs /noconfig "/out:/Users/dfowler/dev/github/SignalR/src/Microsoft.AspNet.SignalR.Client/bin/Debug/Microsoft.AspNet.SignalR.Client.dll" "/r:/Users/dfowler/dev/github/SignalR/packages/Newtonsoft.Json.4.5.11/lib/net40/Newtonsoft.Json.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.11/lib/mono/4.0/System.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.11/lib/mono/4.0/System.Core.dll" "/r:/Library/Frameworks/Mono.framework/Versions/2.10.11/lib/mono/4.0/Microsoft.CSharp.dll" /nologo /warn:4 /debug:full /optimize- /codepage:utf8 "/define:DEBUG;TRACE" /t:library "/Users/dfowler/dev/github/SignalR/src/Common/CommonAssemblyInfo.cs" "/Users/dfowler/dev/github/SignalR/src/Common/CommonVersionInfo.cs" "/Users/dfowler/dev/github/SignalR/src/Microsoft.AspNet.SignalR.Core/Infrastructure/CancellationTokenExten
begin transaction
go
alter table dbo.ChatMessages drop constraint PK_ChatMessages
go
create clustered index CX_ChatMessages_When on dbo.ChatMessages ([When])
go
alter table dbo.ChatMessages add constraint PK_ChatMessages primary key nonclustered ([Key])
begin transaction
go
-- http://msdn.microsoft.com/en-us/library/windowsazure/ee336275.aspx
-- This is our source table and data
CREATE TABLE [dbo].[Foo](
[Id] [int] IDENTITY(1,1) NOT NULL,
[When] [datetime] NOT NULL,
CONSTRAINT [PK_Foo] PRIMARY KEY CLUSTERED ([Id] ASC)
)