2017-05-19 7 views
0

XMLファイル設定ではなくコード設定でサーバを起動したいが、SiloサーバはLoadOrleansConfigメソッドを呼び出さなければ起動できない。XMLファイルの構成ではなくコードの構成でサーバーを起動するにはどうすればよいですか?

string providerName = "MySql.Data.MySqlClient"; 
string mysqlConnString = "mysqlConnString"; 

var config = new ClusterConfiguration(); 
config.Globals.DeploymentId = "OrleansTest"; 
config.Globals.AdoInvariant = providerName; 
config.Globals.DataConnectionString = mysqlConnString; 

config.Globals.LivenessType = LivenessProviderType.Custom; 
config.Globals.ReminderServiceType = ReminderServiceProviderType.Custom; 
config.Globals.MembershipTableAssembly = "OrleansSQLUtils"; 
config.Globals.ReminderTableAssembly = "OrleansSQLUtils"; 

config.Defaults.HostNameOrIPAddress = "localhost"; 
config.Defaults.Port = 11111; 
config.Defaults.ProxyGatewayEndpoint = new IPEndPoint(IPAddress.Loopback, 30000); 

using (var host = new SiloHost("Default")) 
{ 
    host.Config = config; 
    host.InitializeOrleansSilo(); 
    var result = host.StartOrleansSilo(); 
    Console.WriteLine("server startup {0}", result ? "successful" : "failure"); 
    Console.ReadLine(); 
    host.StopOrleansSilo(); 
} 

答えて

0

デフォルトでは、すべての例外を飲み込むだろうサイロを開始します。このようにそれを起動して、あなたは少しより多くの情報を得るでしょう。この場合

var result = host.StartOrleansSilo(catchExceptions: false); 

を、あなたが得る:

を「による事前初期化エラーにサイロのデフォルトを開始できません」

これはあなたがまだ知らなかったことではありません。問題を解決するには、SiloHostを次のように設定します。

using (var host = new SiloHost("Default", config)) 
関連する問題