(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
// Compile using: csc gxhttptest.cs /r:GenuineChannels.dll | |
// gxhttptest.exe /s — start server | |
// gxhttptest.exe — start client | |
using System; | |
using System.Collections.Generic; | |
using System.Runtime.Remoting; | |
using System.Runtime.Remoting.Channels; | |
using Belikov.GenuineChannels.GenuineHttp; | |
using Belikov.GenuineChannels.GenuineXHttp; |
// Compile using: csc gxhttptest.cs /r:GenuineChannels.dll | |
// gxhttptest.exe /s — start server | |
// gxhttptest.exe — start client | |
using System; | |
using System.Collections.Generic; | |
using System.Runtime.Remoting; | |
using System.Runtime.Remoting.Channels; | |
using Belikov.GenuineChannels.GenuineXHttp; |
public static class ObservableExtensions | |
{ | |
public static IObservable<TResult> SelectAsync<TSource, TResult>( | |
this IObservable<TSource> src, | |
Func<TSource, Task<TResult>> selectorAsync) | |
{ | |
// using local variable for counter is easier than src.Scan(...) | |
var counter = 0; | |
var streamOfTasks = | |
from source in src |
using System; | |
using System.Threading; | |
class Program | |
{ | |
static event EventHandler Handler; | |
static void Main() | |
{ | |
Handler += (s, e) => { Console.WriteLine($"1: {Thread.CurrentThread.ManagedThreadId}"); }; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
// Compile using: csc gtcptest.cs /r:GenuineChannels.dll | |
// First run — start server | |
// Second run — start client | |
using System; | |
using System.Collections.Generic; | |
using System.Runtime.Remoting; | |
using System.Runtime.Remoting.Channels; | |
using Belikov.GenuineChannels.GenuineTcp; |
Any GitHub wiki can be cloned by appending wiki.git
to the repo url, so the clone url for
the repo https://myorg/myrepo/
is: git@github.com/myorg/myrepo.wiki.git
(for ssh) or https://github.com/my/myrepo.wiki.git
(for https).
You make edits, and commit and push your changes, like any normal repo.
You need to clone the wiki repo and edit it on your system.
// http://zyan.com.de | |
// | |
// Compile using: csc test.cs /r:Zyan.Communication.dll | |
// | |
// Start up test.exe several times (up to 3 peers). | |
// Every process acts as a server and a client at the same time. | |
// | |
using System; | |
using System.Collections.Generic; |
// http://zyan.com.de | |
// | |
// Compile using: csc test.cs /r:Zyan.Communication.dll | |
// | |
// Start up test.exe several times. | |
// The first process is the server, the rest are clients. | |
// | |
using System; | |
using System.Collections.Concurrent; |
// Compile using: csc.exe ServiceExample.cs /r:Zyan.Communication.dll | |
// Install using: ServiceExample.exe install (run as Administrator) | |
// Uninstall using: ServiceExample.exe uninstall (run as Administrator) | |
// Start service: net start ServiceExample (run as Administrator) | |
// Stop service: net stop ServiceExample (run as Administrator) | |
// Run client app: ServiceExample.exe test | |
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; |