2015-09-23 67 views
1

我想使用C#服务器事件客户端,其余的提供客户端用于演示目的。但我不太清楚如何设置它们?这是C#服务器事件客户端的C#控制台客户端或Web应用程序?我假设我需要创建一个新项目并将客户代码放入?我找不到与此相关的任何教程。ServiceStack - 如何设置C#服务器事件客户端?

我迄今所做的:

using ServiceStack; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace SimByte.RV.VPS.ConsoleClient 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ServerEventConnect connectMsg = null; 
      var msgs = new List<ServerEventMessage>(); 
      var commands = new List<ServerEventMessage>(); 
      var errors = new List<Exception>(); 

      var client = new ServerEventsClient(
    "http://localhost:58158/api/event-stream", channels: "OfficialPricesPush") 
      { 
       OnConnect = e => connectMsg = e, 
       OnCommand = commands.Add, 
       OnMessage = msgs.Add, 
       OnException = errors.Add, 
      }.Start(); 
     } 
    } 
} 

当然,不给我我需要什么。谢谢您的帮助。

回答

2

ServerEventsClient只是一个普通的C#类,它在后台线程中侦听服务器事件流。您可以在任何C#应用程序中使用它,例如控制台/ Winforms/Wpf应用程序,ASP.NET Web应用程序,Windows服务,Xamarin C#Android应用程序等。

如果这意味着长时间运行的控制台应用程序处理服务器事件,则需要阻止应用程序完成和终止您可以通过将主线程阻止应用上的最后一行睡觉:

Thread.Sleep(Timeout.Infinite); 

而且关于如何配置和服务器处理事件消息NUnit的例子退房ServerEventTests.cs

相关问题