2017-05-19 9 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))