public override bool OnStart() { ServicePointManager.DefaultConnectionLimit = 64; ServicePointManager.Expect100Continue = false; ServicePointManager.UseNagleAlgorithm = false; #region Launch silo in separate AppDomain var dataConnectionString = RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"); var orleansSiloConfiguration = File.ReadAllText("OrleansConfiguration.xml").Replace( "XXXDataConnectionStringValueXXX", dataConnectionString); this.siloHost = new SiloHost(); this.siloHost.StartLobbyServiceSiloAppDomain(orleansSiloConfiguration); #endregion Trace.TraceInformation("LobbyServiceInstanceId " + this.SharedSettings.InstanceId); Trace.TraceInformation("Settings.IPEndPoint " + this.LobbyServiceSettings.IPEndPoint.ToString()); if (!OrleansAzureClient.IsInitialized) { OrleansAzureClient.Initialize("ClientConfiguration.xml"); } var server = new AsyncServerHost(this.LobbyServiceSettings.IPEndPoint); this.lobbyServerImpl = cc.GetExportedValue <LobbyServerImpl>(); this.lobbyTask = server.Start(lobbyServerImpl, cts.Token); return(true); }
static async Task DoIt3() { var gc = new OrleansAzureClient(ShipHubCloudConfiguration.Instance.DeploymentId, ShipHubCloudConfiguration.Instance.DataConnectionString); var github = await gc.GetGrain <IGitHubActor>(87309); // kogir var repoFullName = "realartists/shiphub-server"; var prs = new[] { 147, 164, 166 }; Console.WriteLine("[q]: Quit, [g]: Make GraphQL request"); ConsoleKeyInfo keyInfo; while ((keyInfo = Console.ReadKey(true)).Key != ConsoleKey.Q) { switch (keyInfo.Key) { case ConsoleKey.G: Console.WriteLine($"[{DateTimeOffset.Now}]: Making query on {repoFullName}."); var resp = await github.PullRequestReviews(repoFullName, prs); if (resp.IsOk) { Console.WriteLine(resp.Result.SerializeObject(Formatting.Indented)); } break; } } }
static Container CreateContainer(IDetailedExceptionLogger detailedLogger) { Container container = null; try { container = new Container(); // ShipHub Configuration var config = ShipHubCloudConfiguration.Instance; container.RegisterSingleton(config); // AutoMapper container.RegisterSingleton(() => { var mapperConfig = new MapperConfiguration(cfg => { cfg.AddProfile <GitHubToDataModelProfile>(); }); return(mapperConfig.CreateMapper()); }); // Service Bus container.RegisterSingleton <IServiceBusFactory>(() => { // HACK: This is gross var sbf = new ServiceBusFactory(); sbf.Initialize().GetAwaiter().GetResult(); return(sbf); }); // Orleans container.RegisterSingleton <IAsyncGrainFactory>(() => { var factory = new OrleansAzureClient(config.DeploymentId, config.DataConnectionString); factory.Configuration.DefaultTraceLevel = Orleans.Runtime.Severity.Error; return(factory); }); // Queue Client container.RegisterSingleton <IShipHubQueueClient, ShipHubQueueClient>(); // IDetailedExceptionLogger container.RegisterSingleton(() => detailedLogger); // ChargeBee var chargeBeeHostAndApiKey = ShipHubCloudConfiguration.Instance.ChargeBeeHostAndKey; if (!chargeBeeHostAndApiKey.IsNullOrWhiteSpace()) { var parts = chargeBeeHostAndApiKey.Split(':'); container.RegisterSingleton(() => new cb.ChargeBeeApi(parts[0], parts[1])); } container.Verify(); } catch { if (container != null) { container.Dispose(); throw; } } return(container); }
static void InitializeOrleansClient() { var clientConfigFile = AzureConfigUtils.ClientConfigFileLocation; if (!clientConfigFile.Exists) { throw new FileNotFoundException(clientConfigFile.FullName); } OrleansAzureClient.Initialize(clientConfigFile); }
public static void EnsureOrleansClientInitialized() { if (!OrleansAzureClient.IsInitialized) { FileInfo clientConfigFile = AzureConfigUtils.ClientConfigFileLocation; if (!clientConfigFile.Exists) { throw new FileNotFoundException( string.Format("Cannot find Orleans client config file for initialization at {0}", clientConfigFile.FullName), clientConfigFile.FullName); } OrleansAzureClient.Initialize(clientConfigFile); } }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); // Orleans Client if (!OrleansAzureClient.IsInitialized) { OrleansAzureClient.Initialize(Server.MapPath(@"~/ClientConfiguration.xml")); } OrleansConfig.InitializeOrleans(); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); if (RoleEnvironment.IsAvailable) { OrleansAzureClient.Initialize(Server.MapPath("~/AzureConfiguration.xml")); } else { Orleans.OrleansClient.Initialize(Server.MapPath("~/ClientConfiguration.xml")); } }
protected void Application_Start() { if (RoleEnvironment.IsAvailable) { // running in Azure OrleansAzureClient.Initialize(Server.MapPath(@"~/AzureConfiguration.xml")); } else { // not running in Azure OrleansClient.Initialize(Server.MapPath(@"~/LocalConfiguration.xml")); } AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); }
/// <summary> /// Configures Orleans for use with Azure. /// </summary> /// <remarks>This should appear earlier in the pipeline than any usage of Orleans.</remarks> /// <param name="app">The app being configured.</param> /// <param name="clientConfigurationFile">The client configuration file.</param> public static void ConfigureOrleans(this IAppBuilder app, FileInfo clientConfigurationFile) { app.Use( async(context, next) => { if (!OrleansAzureClient.IsInitialized) { lock (InitializationLock) { if (!OrleansAzureClient.IsInitialized) { OrleansAzureClient.Initialize(clientConfigurationFile); } } } await next.Invoke().ConfigureAwait(false); }); }
public ActionResult Index() { ViewBag.Title = "Adventure Terre"; if (!OrleansAzureClient.IsInitialized) { FileInfo clientConfigFile = AzureConfigUtils.ClientConfigFileLocation; if (!clientConfigFile.Exists) { var configFilePath = System.Web.Hosting.HostingEnvironment.MapPath("~/bin/") + "ClientConfiguration.xml"; OrleansAzureClient.Initialize(configFilePath); } else { OrleansAzureClient.Initialize(clientConfigFile); } } return(View()); }
void Application_Start(object sender, EventArgs e) { // Code that runs on application startup if (!OrleansAzureClient.IsInitialized) { FileInfo clientConfigFile = AzureConfigUtils.ClientConfigFileLocation; if (!clientConfigFile.Exists) { //throw new FileNotFoundException(string.Format("Cannot find Orleans client config file for initialization at {0}", clientConfigFile.FullName), clientConfigFile.FullName); var configFilePath = System.Web.Hosting.HostingEnvironment.MapPath("~/bin/") + "ClientConfiguration.xml"; OrleansAzureClient.Initialize(configFilePath); } else { OrleansAzureClient.Initialize(clientConfigFile); } } AreaRegistration.RegisterAllAreas(); System.Web.Http.GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
static async Task DoIt() { var gc = new OrleansAzureClient(ShipHubCloudConfiguration.Instance.DeploymentId, ShipHubCloudConfiguration.Instance.DataConnectionString); var user = await gc.GetGrain <IUserActor>(87309); // kogir //var repo = await gc.GetGrain<IRepositoryActor>(59613425); // realartists/test var repo = await gc.GetGrain <IRepositoryActor>(28232663); // dotnet/orleans //var issue = gc.GetGrain<IIssueActor>(139, "realartists/test", grainClassNamePrefix: null); // realartists/test#139 var issue = await gc.GetGrain <IIssueActor>(423, "realartists/shiphub-server", grainClassNamePrefix : null); // realartists/shiphub-server#423 Console.WriteLine("[q]: Quit, [u]: Sync user [r]: Sync repo [i]: Sync issue"); ConsoleKeyInfo keyInfo; while ((keyInfo = Console.ReadKey(true)).Key != ConsoleKey.Q) { switch (keyInfo.Key) { case ConsoleKey.U: Console.WriteLine($"[{DateTimeOffset.Now}]: Syncing user {user.GetPrimaryKeyLong()}."); user.Sync().LogFailure(); break; case ConsoleKey.R: Console.WriteLine($"[{DateTimeOffset.Now}]: Syncing repository {repo.GetPrimaryKeyLong()}."); repo.Sync().LogFailure(); break; case ConsoleKey.I: Console.WriteLine($"[{DateTimeOffset.Now}]: Syncing issue {issue.GetPrimaryKeyLong(out string repoName)} in {repoName}."); issue.SyncTimeline(user.GetPrimaryKeyLong(), RealArtists.ShipHub.Common.GitHub.RequestPriority.Interactive).LogFailure(); break; } } }