2017-05-19 35 views
0

我想用代碼配置而不是XML文件配置來啓動服務器,但是如果不調用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)) 
相關問題