2017-03-13 3 views
0

Ich verwende ZeroMQ mit Kombination von Clrzmq und libzmq DLL-Dateien.ZeroMQ-Kontext, der auf Windows Server 2012-Maschine nicht initialisiert

Ich habe diese Dateien in meinem Windows-Service-Projekt enthalten und es funktionierte gut in einfachen Windows-PC. Jetzt habe ich den Dienst auf den Windows Server 2012-Computer verschoben, auf dem ich den Dienst mit Administratorrechten installiert und versucht habe, den ZMQ-Server zu starten. Alle Versuche, den Server zu starten, werden mit einem Fehler unterschritten.

My-Code

 public void InitializeServer() 
     { 
      using (var context = ZmqContext.Create()) 
      { 
       using (var socket = context.CreateSocket(SocketType.REP)) 
       { 
        HelperMethods.WriteLog(string.Format("server started at: {0}", serverAddress)); 
        socket.Bind(serverAddress); 

        while (true) 
        { 
         lock (_lock) 
         { 
          try 
          { 
           var rcvdMsg = socket.Receive(Encoding.UTF8); 
           HelperMethods.WriteLog("New event received. "); 
           var replyMsg = "Acknowledged event."; 
           HelperMethods.WriteLog(replyMsg); 
           socket.Send(replyMsg, Encoding.UTF8); 
           HelperMethods.WriteLog("====================================================="); 
          } 
          catch (Exception ex) 
          { 
           HelperMethods.WriteLog("InitializeServer(): " + ex.Message + " | Stack Trace: " + ex.StackTrace); 
          } 
         } 
        } 
       } 
      } 

ERROR:

The type initializer for 'ZeroMQ.Interop.LibZmq' threw an exception. | at ZeroMQ.Interop.ContextProxy.Initialize() in C:\clrzmq\zeromq-clrzmq-v3.0.0-beta1-52-g0d83a1e\zeromq-clrzmq-0d83a1e\src\ZeroMQ\Interop\ContextProxy.cs:line 28 at ZeroMQ.ZmqContext.Create() in C:\clrzmq\zeromq-clrzmq-v3.0.0-beta1-52-g0d83a1e\zeromq-clrzmq-0d83a1e\src\ZeroMQ\ZmqContext.cs:line 78

Was ich bisher versucht

  • Ich habe installiert C++ redistrib nutzbares Paket.
  • Ich habe deaktiviert Firewall und zusätzlichen Service exe inbound und outbound Regeln
  • I .NET Framework 4.6.2
+0

Haben Sie NetMQ versucht? ein Port von Zeromq zu C#, könnte einfacher sein. https://github.com/zeromq/netmq – somdoron

Antwort

0

Zum Glück installiert haben, fand ich this Post und mein Problem gelöst. Für alle anderen, die mit dem gleichen Problem konfrontiert sind, versuchen Sie bitte & installieren die VS2010 C++ redistributable ..

Verwandte Themen