private void StartUpFun() { string akkaConfig = @" akka { }"; AppActorSystem = Akka.Actor.ActorSystem.Create("serverActorSystemName", akkaConfig); PingActor = AppActorSystem.ActorOf <PingActor>(nameof(PingActor)); OwinRef = WebApp.Start("http://*:10080/", (app) => { var ui = AppDomain.CurrentDomain.BaseDirectory + "/../../public"; if (Directory.Exists(ui)) { app.UseSlickProxy(handle => { }); var fileSystem = new PhysicalFileSystem(ui); var options = new FileServerOptions { EnableDirectoryBrowsing = true, FileSystem = fileSystem, EnableDefaultFiles = true }; app.UseFileServer(options); } HttpConfiguration config = new HttpConfiguration(); config.Services.Replace(typeof(IHttpControllerTypeResolver), new ControllerResolver()); config.MapHttpAttributeRoutes(); config.Routes.IgnoreRoute("elmah", "{resource}.axd/{*pathInfo}"); config.Routes.MapHttpRoute( "DefaultApi post", "apig/{dataaccess}/{controller}/{id}", new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( "DefaultApi", "api/{controller}/{action}/{id}", new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute("FilesRoute", "{*pathInfo}", null, null, new StopRoutingHandler()); config.Formatters.Remove(config.Formatters.XmlFormatter); JsonMediaTypeFormatter jsonFormatter = config.Formatters.JsonFormatter; jsonFormatter.UseDataContractJsonSerializer = false; // defaults to false, but no harm done jsonFormatter.SerializerSettings.DateFormatHandling = DateFormatHandling.IsoDateFormat; jsonFormatter.SerializerSettings.Formatting = Formatting.None; // jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); app.UseWebApi(config); }); var result = PingActor.Ask <string>("yooo*").Result; Console.WriteLine(result); }
public void Stop() { Task.Run(() => AppActorSystem.Terminate()).RunSynchronously(); }
protected void Application_End() { AppActorSystem.Terminate(); }
protected void Application_Start() { AppActorSystem.Create(); GlobalConfiguration.Configure(WebApiConfig.Register); }