2016-08-10 22 views
1

私はGrapevineを使用してProgramクラス内のサーバーを起動するソリューションを用意しました。 何らかの理由で、プログラムを起動すると、server.Start()が呼び出されるとクラッシュします。 この時点では、ソリューションの他の部分は実行されていないため、どのように起こっているのかわかりません。Grapevine 3.1 - 'プロセスはファイルにアクセスできません'

のWindows 10上で、管理者として、Visual Studioの15で実行

Program.cs

using System; 
using System.Threading; 
using Grapevine.Server; 
using QuantConnect.Logging; 

namespace QuantConnect.Services 
{ 
    class Program 
    { 
     /// <summary> 
     /// QuantConnect C# Services Server: 
     /// </summary> 
     static void Main(string[] args) 
     { 
      var server = new RESTServer 
      { 
       //Host = Configuration.Config.Get("grapevine-host"), 
       //Port = Configuration.Config.Get("grapevine-port") 
       Host = Configuration.Config.Get("grapevine-host", "localhost"), 
       Port = Configuration.Config.Get("grapevine-port", "80") 
      }; 

      Log.Trace(string.Format("Starting Server On {0}:{1}", server.Host, server.Port)); 
      server.Start(); // Exception occurs here 

      while (server.IsListening) 
      { 
       Thread.Sleep(300); 
      } 

      Log.Trace("Server stopped. Press key to continue..."); 
      Console.ReadLine(); 
     } 
    } 
} 

エラーとスタックトレース:

An unhandled exception of type 'System.Net.HttpListenerException' occurred in Grapevine.dll

System.Net.HttpListenerException was unhandled 
    ErrorCode=32 
    HResult=-2147467259 
    Message=The process cannot access the file because it is being used by another process 
    NativeErrorCode=32 
    Source=System 
    StackTrace: 
     at System.Net.HttpListener.AddAllPrefixes() 
     at System.Net.HttpListener.Start() 
     at Grapevine.Server.RESTServer.Start() 
     at QuantConnect.Services.Program.Main(String[] args) in C:\Users\RichardsPC\Source\Repos\Lean\Services\Program.cs:line 29 
     at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
     at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: 
+0

これがすべてであなたの問題を解決していないだろうが、私はグレープバイン4.xでは、最新バージョンへのアップデートをお勧めしますそこに良いもの!そしてGrapevineを使ってくれてありがとう。 –

+0

こんにちはスコット、私は3.1を使用しなければならなかった問題です。ちょうど私はこのシナリオで扱われた手 –

答えて

1

だから私は何を考え出しました問題はだった。 Grapevineをポート80を使用するように設定しました。

Port = Configuration.Config.Get("grapevine-port", "80")

問題は、このポートを使用して私のマシン上で別のサービスがあったということでした、私は8080を使用するように変更し、それが今で正常に動作します。

Port = Configuration.Config.Get("grapevine-port", "8080")

関連する問題