static void Main(string[] args) { HttpSelfHostServer server = null; try { // 设置selfhost HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); //配置(config); //清除xml格式,设置Json格式 config.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); config.Formatters.JsonFormatter.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; //设置路由 config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // 创建服务 server = new HttpSelfHostServer(config); // 开始监听 server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); Console.WriteLine("Web API host started..."); //输入exit按Enter結束httpServer string line = null; do { line = Console.ReadLine(); } while (line != "exit"); //结束连接 server.CloseAsync().Wait(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
static void Main(string[] args) { var baseurl = new Uri("http://localhost:9000/"); var config = new HttpSelfHostConfiguration(baseurl); //config.MessageHandlers.Add(new GitHubApiRouter(baseurl)); //config.Routes.Add("default", new TreeRoute("",new TreeRoute("home").To<HomeController>(), // new TreeRoute("contact", // new TreeRoute("{id}", // new TreeRoute("address", // new TreeRoute("{addressid}").To<ContactAddressController>()) // ).To<ContactController>()) // ) // ); var route = new TreeRoute("api"); route.AddWithPath("home", r => r.To<HomeController>()); route.AddWithPath("contact/{id}",r => r.To<ContactController>()); route.AddWithPath("contact/{id}/adddress/{addressid}", r => r.To<ContactAddressController>()); route.AddWithPath("act/A", r => r.To<ActionController>().ToAction("A")); route.AddWithPath("act/B", r => r.To<ActionController>().ToAction("B")); config.Routes.Add("default", route); var host = new HttpSelfHostServer(config); host.OpenAsync().Wait(); Console.WriteLine("Host open. Hit enter to exit..."); Console.Read(); host.CloseAsync().Wait(); }
static void Main(string[] args) { var port = ConfigurationManager.AppSettings["Port"] ?? "8080"; var hostname = ConfigurationManager.AppSettings["Hostname"] ?? "localhost"; //The url that the service can be called on var serviceUrl = string.Format("http://{0}:{1}", hostname, port); //Service configuration var config = new HttpSelfHostConfiguration(serviceUrl); //Add routes to controllers config.Routes.MapHttpRoute("DefaultApi ", "api/{controller}/{id}", new { id = RouteParameter.Optional }); //Writes list of available mediatype formatters to console Console.WriteLine("{0}{1}", "Registered media type formatters:\n", string.Join("\n", config.Formatters.Select(x => x.GetType()))); //Initialize server _selfHostServerServer = new HttpSelfHostServer(config); //Start server _selfHostServerServer.OpenAsync().Wait(); Console.WriteLine("{1}Self hosting server is running on: {0}", serviceUrl, Environment.NewLine); Console.WriteLine("Press Enter to quit."); Console.ReadLine(); //Wires up application close handler AppDomain.CurrentDomain.ProcessExit += (s, e) => { //Close server _selfHostServerServer.CloseAsync(); _selfHostServerServer.Dispose(); }; }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(BaseAddress); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + BaseAddress); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
private static void Main(string[] args) { string prefix = "http://localhost:8080"; HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(prefix); config.Routes.MapHttpRoute("Default", "{controller}/{action}"); // Append our custom valueprovider to the list of value providers. config.Services.Add(typeof (ValueProviderFactory), new HeaderValueProviderFactory()); HttpSelfHostServer server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); try { // HttpClient will make the call, but won't set the headers for you. HttpClient client = new HttpClient(); var response = client.GetAsync(prefix + "/ValueProviderTest/GetStuff?id=20").Result; // Browsers will set the headers. // Loop. You can hit the request via: http://localhost:8080/Test2/GetStuff?id=40 while (true) { Thread.Sleep(1000); Console.Write("."); } } finally { server.CloseAsync().Wait(); } }
static void Main(string[] args) { HttpSelfHostServer server = null; try { HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; // Register default route config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}" ); server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Listening on " + baseAddress); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { server.CloseAsync().Wait(); } } }
public static void Main(string[] args) { HttpSelfHostServer server = null; try { var config = new HttpSelfHostConfiguration("http://localhost:3002/") { }; //config.Formatters.Add(new HtmlMediaTypeFormatter()); var todoList = new Application(); config.Routes.Add("Noodles", config.Routes.CreateRoute("{*path}", new HttpRouteValueDictionary("route"), constraints: null, dataTokens: null, handler: new NoodlesHttpMessageHandler((r) => todoList) )); server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Hit ENTER to exit"); Console.ReadLine(); } finally { if (server != null) { server.CloseAsync().Wait(); } } }
public static void Main(string[] args) { HttpSelfHostServer server = null; try { var config = new HttpSelfHostConfiguration("http://localhost:3002/") { MaxReceivedMessageSize = 1024*1024*1024, TransferMode = TransferMode.Streamed, MessageHandlers = { new ForwardProxyMessageHandler() } }; server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Hit ENTER to exit"); Console.ReadLine(); } finally { if (server != null) { server.CloseAsync().Wait(); } } }
public static HttpStatusCode SendJsonGetCode(string routeTemp, string uri, string json) { HttpStatusCode actualHttpCode; HttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost/"); config.Routes.MapHttpRoute( name: "Default", routeTemplate: routeTemp ); using (HttpSelfHostServer server = new HttpSelfHostServer(config)) using (HttpClient client = getJsonClient()) { server.OpenAsync().Wait(); using (HttpRequestMessage request = getJsonRequest(HttpMethod.Post, uri, json)) using (HttpResponseMessage response = client.SendAsync(request).Result) { actualHttpCode = response.StatusCode; } server.CloseAsync().Wait(); } return actualHttpCode; }
public void Body_WithSingletonControllerInstance_Fails() { // Arrange HttpClient httpClient = new HttpClient(); string baseAddress = "http://localhost"; string requestUri = baseAddress + "/Test"; HttpSelfHostConfiguration configuration = new HttpSelfHostConfiguration(baseAddress); configuration.Routes.MapHttpRoute("Default", "{controller}", new { controller = "Test" }); configuration.ServiceResolver.SetService(typeof(IHttpControllerFactory), new MySingletonControllerFactory()); HttpSelfHostServer host = new HttpSelfHostServer(configuration); host.OpenAsync().Wait(); HttpResponseMessage response = null; try { // Act response = httpClient.GetAsync(requestUri).Result; response = httpClient.GetAsync(requestUri).Result; response = httpClient.GetAsync(requestUri).Result; // Assert Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); } finally { if (response != null) { response.Dispose(); } } host.CloseAsync().Wait(); }
public void Dispose() { if (server != null) { server.CloseAsync().Wait(); } }
public void Get_RequestCorrectCourseId_GetCorrectValues() { int actualCarId; string actualZnacka; string actualModel; string actualSPZ; string actualVIN; int actualPocatecniStavKm; int actualRokVyroby; string actualPosledniSTK; int actualAutoskolaId; string actualTyp; int actualNajetoKm; int actualPrumernaSpotreba; HttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost/"); config.Routes.MapHttpRoute( name: "Default", routeTemplate: "{controller}/{id}" ); using (HttpSelfHostServer server = new HttpSelfHostServer(config)) using (HttpClient client = new HttpClient()) { server.OpenAsync().Wait(); using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/vozidla/9")) using (HttpResponseMessage response = client.SendAsync(request).Result) { string json = response.Content.ReadAsStringAsync().Result; dynamic data = JObject.Parse(json); actualCarId = data.vozidlo_id; actualZnacka = data.znacka; actualModel = data.model; actualSPZ = data.spz; actualVIN = data.vin; actualPocatecniStavKm = data.pocatecni_stav_km; actualRokVyroby = data.rok_vyroby; actualPosledniSTK = data.posledni_stk; actualAutoskolaId = data.autoskola_id; actualTyp = data.vozidlo_typ; actualNajetoKm = data.pocet_km; actualPrumernaSpotreba = data.prumerna_spotreba; } server.CloseAsync().Wait(); } Assert.AreEqual(9, actualCarId); Assert.AreEqual("Škoda",actualZnacka); Assert.AreEqual("Octavia", actualModel); Assert.AreEqual("3E8 3853", actualSPZ); Assert.AreEqual("FG5464RTV5432AF5F", actualVIN); Assert.AreEqual(8832, actualPocatecniStavKm); Assert.AreEqual(2007, actualRokVyroby); Assert.AreEqual(new DateTime(2013, 11, 25).ToString("MM/dd/yyyy HH:mm:ss"), actualPosledniSTK); Assert.AreEqual(1, actualAutoskolaId); Assert.AreEqual("osobni", actualTyp); Assert.AreEqual(8832 + 36, actualNajetoKm); Assert.AreEqual(6, actualPrumernaSpotreba); }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always; // Add $format support config.MessageHandlers.Add(new FormatQueryMessageHandler()); // Add NavigationRoutingConvention2 to support POST, PUT, PATCH and DELETE on navigation property var conventions = ODataRoutingConventions.CreateDefault(); conventions.Insert(0, new CustomNavigationRoutingConvention()); // Enables OData support by adding an OData route and enabling querying support for OData. // Action selector and odata media type formatters will be registered in per-controller configuration only config.Routes.MapODataRoute( routeName: "OData", routePrefix: null, model: ModelBuilder.GetEdmModel(), pathHandler: new DefaultODataPathHandler(), routingConventions: conventions); // Enable queryable support and allow $format query config.EnableQuerySupport(new QueryableAttribute { AllowedQueryOptions = AllowedQueryOptions.Supported | AllowedQueryOptions.Format }); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.EnableSystemDiagnosticsTracing(); config.Filters.Add(new ModelValidationFilterAttribute()); // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); } finally { Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
public static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; config.Formatters.JsonFormatter.Indent = true; config.Formatters.XmlFormatter.Indent = true; config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); Console.WriteLine("*******************************"); Console.WriteLine("POSTing a valid customer"); Console.WriteLine("*******************************"); PostValidCustomer(); Console.WriteLine("*******************************"); Console.WriteLine("POSTing a customer with a missing ID"); Console.WriteLine("*******************************"); PostCustomerMissingID(); Console.WriteLine("*******************************"); Console.WriteLine("POSTing a customer with negative ID and invalid phone number"); Console.WriteLine("*******************************"); PostInvalidCustomerUsingJson(); Console.WriteLine("*******************************"); Console.WriteLine("POSTing a customer with negative ID and invalid phone number using XML"); Console.WriteLine("*******************************"); PostInvalidCustomerUsingXml(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Configure Server Settings HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.Routes.MapHttpRoute( "API Default", "api/{controller}/{id}", defaults: new {id = RouteParameter.Optional}); // Create Server server = new HttpSelfHostServer(config); //Start Listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); Console.WriteLine("Press Enter to exit..."); Console.WriteLine(); // Call the web Api and display the result HttpClient client = new HttpClient(); client.GetStringAsync(_baseAddress).ContinueWith( getTask => { if (getTask.IsCanceled) Console.WriteLine("Request was canceled"); else if (getTask.IsFaulted) Console.WriteLine("Request failed: {0}", getTask.Exception); else Console.WriteLine("Client reieved: {0}", getTask.Result); }); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine("Couln't start Server: {0}", ex.GetBaseException().Message); Console.WriteLine("Press Enter to exit.."); Console.ReadLine(); } finally { if (server != null) { // Stop Listening server.CloseAsync().Wait(); } } }
static void Main(string[] args) { var config = new HttpSelfHostConfiguration(new Uri("http://localhost:8080")); Bootstrap.Configure(config); var server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Your Server is waiting at {0}", config.BaseAddress); Console.ReadLine(); server.CloseAsync().Wait(); }
private void SafeClose(HttpSelfHostServer server) { try { server.CloseAsync().Wait(); } catch { System.Diagnostics.Debug.WriteLine("HttpSelfHostServerTests.SafeOpen failed to close server at " + server.Configuration.VirtualPathRoot); } }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Create configuration var config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; // Turn on streaming in selfhost for both requests and responses. // if you do this in ASP.NET then please see this blog from @filip_woj for details // on how to turn off buffering in ASP.NET: // http://www.strathweb.com/2012/09/dealing-with-large-files-in-asp-net-web-api/ config.TransferMode = TransferMode.Streamed; // Set max received size to 10G config.MaxReceivedMessageSize = 10L * 1024 * 1024 * 1024; // Set receive and send timeout to 20 mins config.ReceiveTimeout = TimeSpan.FromMinutes(20); config.SendTimeout = TimeSpan.FromMinutes(20); // Add a route config.Routes.MapHttpRoute( name: "default", routeTemplate: "api/{controller}/{id}", defaults: new { controller = "Home", id = RouteParameter.Optional }); // Create server server = new HttpSelfHostServer(config); // Start server server.OpenAsync().Wait(); Console.WriteLine("Server listening at {0}", _baseAddress); Console.WriteLine("Hit ENTER to exit"); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Close server server.CloseAsync().Wait(); } } }
static void Main( string[] args ) { //--- Initialise log4net log4net.Config.XmlConfigurator.Configure(); log_ = log4net.LogManager.GetLogger( typeof( Program ) ); //--- Create the interface to Cortex cortex_ = CortexInterface.Instance; //--- Self host the WebAPI HttpSelfHostServer server = null; try { //--- Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration( _baseAddress ); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{object_id}/{port_id}", defaults: new { object_id = RouteParameter.Optional, port_id = RouteParameter.Optional } ); //--- Create the server server = new HttpSelfHostServer( config ); //--- Start listening server.OpenAsync().Wait(); log_.Info( "Listening on " + _baseAddress + " Hit ENTER to exit..." ); Console.ReadLine(); } catch ( Exception e ) { log_.Error( "Could not start server: " + e.GetBaseException().Message ); log_.Error( "Hit ENTER to exit..." ); Console.ReadLine(); } finally { if ( server != null ) { //--- Stop listening server.CloseAsync().Wait(); } } }
public async Task SendAsync_ServiceModel_AddsSelfHostHttpRequestContext() { // Arrange using (PortReserver port = new PortReserver()) { string baseUri = port.BaseUri; HttpRequestContext context = null; Uri via = null; Func <HttpRequestMessage, CancellationToken, Task <HttpResponseMessage> > sendAsync = (r, c) => { if (r != null) { context = r.GetRequestContext(); } SelfHostHttpRequestContext typedContext = context as SelfHostHttpRequestContext; if (typedContext != null) { via = typedContext.RequestContext.RequestMessage.Properties.Via; } return(Task.FromResult(new HttpResponseMessage())); }; using (HttpSelfHostConfiguration expectedConfiguration = new HttpSelfHostConfiguration(baseUri)) { expectedConfiguration.HostNameComparisonMode = HostNameComparisonMode.Exact; using (HttpMessageHandler dispatcher = new LambdaHttpMessageHandler(sendAsync)) using (HttpSelfHostServer server = new HttpSelfHostServer(expectedConfiguration, dispatcher)) using (HttpClient client = new HttpClient()) using (HttpRequestMessage expectedRequest = new HttpRequestMessage(HttpMethod.Get, baseUri)) { await server.OpenAsync(); // Act using (HttpResponseMessage ignore = await client.SendAsync(expectedRequest)) { // Assert SelfHostHttpRequestContext typedContext = (SelfHostHttpRequestContext)context; Assert.Equal(expectedRequest.RequestUri, via); Assert.Same(expectedConfiguration, context.Configuration); Assert.Equal(expectedRequest.RequestUri, typedContext.Request.RequestUri); await server.CloseAsync(); } } } } }
private static void DoStart(IConfig appConfig) { var httpConfig = new HttpSelfHostConfiguration("http://localhost:49991") {HostNameComparisonMode = HostNameComparisonMode.Exact}; ConfigureRoutes(httpConfig); ConfigureDependencyResolver(httpConfig, appConfig); using (var server = new HttpSelfHostServer(httpConfig)) { server.OpenAsync().Wait(); Console.WriteLine("Press Enter to quit."); Console.ReadLine(); server.CloseAsync().Wait(); } }
public void Get_RequestCorrectId_GetCorrectValues() { int actualTeacherId; string actualOsobniCislo; string actualJmeno; string actualPrijmeni; string actualAdresaMesto; string actualAdresaUlice; int actualAdresaCP; int actualAdresaPSC; int actualAutoskolaId; HttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost/"); config.Routes.MapHttpRoute( name: "Default", routeTemplate: "{controller}/{id}" ); using (HttpSelfHostServer server = new HttpSelfHostServer(config)) using (HttpClient client = new HttpClient()) { server.OpenAsync().Wait(); using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/ucitele/1")) using (HttpResponseMessage response = client.SendAsync(request).Result) { string json = response.Content.ReadAsStringAsync().Result; dynamic data = JObject.Parse(json); actualTeacherId = data.ucitel_id; actualOsobniCislo = data.osobni_cislo; actualJmeno = data.jmeno; actualPrijmeni = data.prijmeni; actualAdresaMesto = data.adresa_mesto; actualAdresaUlice = data.adresa_ulice; actualAdresaCP = data.adresa_cp; actualAdresaPSC = data.adresa_psc; actualAutoskolaId = data.autoskola_id; } server.CloseAsync().Wait(); } Assert.AreEqual(1, actualTeacherId); Assert.AreEqual("111", actualOsobniCislo); Assert.AreEqual("Jan", actualJmeno); Assert.AreEqual("Jandera", actualPrijmeni); Assert.AreEqual("Pce", actualAdresaMesto); Assert.AreEqual("ul", actualAdresaUlice); Assert.AreEqual(123, actualAdresaCP); Assert.AreEqual(12345, actualAdresaPSC); Assert.AreEqual(1, actualAutoskolaId); }
static void Main(string[] args) { XmlConfigurator.Configure(); string listenAddress = null; string script = null; bool help = false; var options = new OptionSet { {"listen=", x => listenAddress = x }, {"script=", x => script = x }, {"h|?|help", x => help = x != null}, }; options.Parse(args); if (listenAddress == null || help) { PrintUsage(); return; } var buffers = new InputOutputBuffers(); Log.Info("Initializing PowerShell"); var powerShell = new PSWrapper(buffers, () => ExitEvent.Set()); buffers.RegisterForInCommand((cmd, scope) => powerShell.TryExecute(cmd.TextLine)); var config = new HttpSelfHostConfiguration(listenAddress); config.Services.Insert(typeof(IHttpControllerActivator), 0, new ControllerActivator(buffers)); config.Routes.MapHttpRoute("session", "session", new { controller = "Session" }); config.Routes.MapHttpRoute("content", "{contentFile}", new { controller = "Content" }); var server = new HttpSelfHostServer(config); Log.InfoFormat("Staring HTTP listener at {0}", listenAddress); server.OpenAsync().Wait(); if (script != null) { RunScript(script, powerShell); } else { StartInteractivePrompt(buffers); } Log.InfoFormat("System ready"); ExitEvent.Wait(); server.CloseAsync().Wait(); powerShell.Dispose(); }
public void Run(string baseAddress) { var config = HypermediaApiConfiguration.ConfigureSite(baseAddress); var host = new HttpSelfHostServer(config); host.OpenAsync().Wait(); Console.WriteLine("Press enter to shutdown service"); Console.ReadLine(); host.CloseAsync().Wait(); }
public void Get_RequestCorrectRideId_GetCorrectValues() { int actualRideId; double actualNajeto; double actualSpotreba; string actualDateOd; string actualDateDo; int actualVozidloId; int actualStudentId; int actualUcitelId; //int actualKurzId; HttpSelfHostConfiguration config = new HttpSelfHostConfiguration("http://localhost/"); config.Routes.MapHttpRoute( name: "Default", routeTemplate: "{controller}/{id}" ); using (HttpSelfHostServer server = new HttpSelfHostServer(config)) using (HttpClient client = new HttpClient()) { server.OpenAsync().Wait(); using (HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/jizdy/16")) using (HttpResponseMessage response = client.SendAsync(request).Result) { string json = response.Content.ReadAsStringAsync().Result; dynamic data = JObject.Parse(json); actualRideId = data.jizda_id; actualNajeto = data.najeto; actualSpotreba = data.spotreba; actualDateOd = data.cas_od; //databaze: od, model: cas_od actualDateDo = data.cas_do; //databaze: do, model: cas_do actualVozidloId = data.vozidlo_id; actualStudentId = data.student_id; actualUcitelId = data.ucitel_id; //actualKurzId = data.kurz_id; //Controller ho nevraci. Je to zamer? } server.CloseAsync().Wait(); } Assert.AreEqual(16, actualRideId); Assert.AreEqual(16, actualNajeto); Assert.AreEqual(7, actualSpotreba); Assert.AreEqual(new DateTime(2013, 11, 5, 10, 32, 00).ToString("MM/dd/yyyy HH:mm:ss"), actualDateOd); Assert.AreEqual(new DateTime(2013, 11, 5, 12, 32, 00).ToString("MM/dd/yyyy HH:mm:ss"), actualDateDo); Assert.AreEqual(9, actualVozidloId); Assert.AreEqual(9, actualStudentId); Assert.AreEqual(1, actualUcitelId); //Assert.AreEqual(8, actualKurzId); }
public void SendAsync_ServiceModel_AddsSelfHostHttpRequestContext() { // Arrange // Use a different port from 50231 to prevent conflicts with concurrent tests. string baseUri = "http://localhost:50232/"; HttpRequestContext context = null; Uri via = null; Func <HttpRequestMessage, CancellationToken, Task <HttpResponseMessage> > sendAsync = (r, c) => { if (r != null) { context = r.GetRequestContext(); } SelfHostHttpRequestContext typedContext = context as SelfHostHttpRequestContext; if (typedContext != null) { via = typedContext.RequestContext.RequestMessage.Properties.Via; } return(Task.FromResult(new HttpResponseMessage())); }; using (HttpSelfHostConfiguration expectedConfiguration = new HttpSelfHostConfiguration(baseUri)) { expectedConfiguration.HostNameComparisonMode = HostNameComparisonMode.Exact; using (HttpMessageHandler dispatcher = new LambdaHttpMessageHandler(sendAsync)) using (HttpSelfHostServer server = new HttpSelfHostServer(expectedConfiguration, dispatcher)) using (HttpClient client = new HttpClient()) using (HttpRequestMessage expectedRequest = new HttpRequestMessage(HttpMethod.Get, baseUri)) { server.OpenAsync().Wait(); // Act using (HttpResponseMessage ignore = client.SendAsync(expectedRequest).Result) { // Assert SelfHostHttpRequestContext typedContext = (SelfHostHttpRequestContext)context; Assert.Equal(expectedRequest.RequestUri, via); Assert.Same(expectedConfiguration, context.Configuration); Assert.Equal(expectedRequest.RequestUri, typedContext.Request.RequestUri); server.CloseAsync().Wait(); } } } }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; // Set up Attribute Routing config.Routes.MapHttpAttributeRoutes(attributeRoutingConfig => { // Get list of assemblies we search IAssembliesResolver assemblyResolver = config.Services.GetAssembliesResolver(); // Add routes for all controllers in these assemblies foreach (Assembly assembly in assemblyResolver.GetAssemblies()) { attributeRoutingConfig.AddRoutesFromAssembly(assembly); } }); // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); // Run HttpClient issuing requests RunClient(); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Set parameters for uploading large files config.MaxReceivedMessageSize = 16L * 1024 * 1024 * 1024; config.ReceiveTimeout = TimeSpan.FromMinutes(20); config.TransferMode = TransferMode.StreamedRequest; // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); // Run HttpClient issuing requests RunClient(); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
static void Main() { var config = new HttpSelfHostConfiguration(new Uri("http://localhost:9200")); ServiceConfiguration.Configure(config); var host = new HttpSelfHostServer(config); host.OpenAsync().Wait(); Console.WriteLine("Press any key to exit"); Console.ReadLine(); host.CloseAsync().Wait(); }
static void Main(string[] args) { var config = new HttpSelfHostConfiguration("http://localhost:8080"); config.Routes.MapHttpRoute( "ApiDefault", "api/{controller}/{id}", new {id = RouteParameter.Optional} ); var server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Server is opened"); Console.ReadKey(); server.CloseAsync().Wait(); }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); // Set our own assembly resolver where we add the assemblies we need CustomAssembliesResolver assemblyResolver = new CustomAssembliesResolver(); config.Services.Replace(typeof(IAssembliesResolver), assemblyResolver); // Create server server = new HttpSelfHostServer(config); // Start listening server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); // Run HttpClient issuing requests RunClient(); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
static void Main(string[] args) { var baseurl = new Uri("http://localhost:9000/"); var config = new HttpSelfHostConfiguration(baseurl); config.MessageHandlers.Add(new GitHubApiRouter(baseurl)); var host = new HttpSelfHostServer(config); host.OpenAsync().Wait(); Console.WriteLine("Host open. Hit enter to exit..."); Console.Read(); host.CloseAsync().Wait(); }
static void Main(string[] args) { HttpSelfHostServer server = null; try { // Set up server configuration HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(_baseAddress); config.HostNameComparisonMode = HostNameComparisonMode.Exact; // Add a route config.Routes.MapHttpRoute( name: "default", routeTemplate: "api/{controller}/{id}", defaults: new { controller = "Home", id = RouteParameter.Optional }); // Set up ResponseEntityHandler with a temporary folder Directory.CreateDirectory(TempFolder); DelegatingHandler responseEntityHandler = new ResponseEntityHandler(TempFolder); // Add our sample message handler to the server configuration config.MessageHandlers.Add(responseEntityHandler); server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); Console.WriteLine("Listening on " + _baseAddress); // Run HttpClient issuing requests RunClient(); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Could not start server: {0}", e.GetBaseException().Message); Console.WriteLine("Hit ENTER to exit..."); Console.ReadLine(); } finally { if (server != null) { // Stop listening server.CloseAsync().Wait(); } } }
static void Main(string[] args) { var config = new HttpSelfHostConfiguration("http://localhost:9100/"); config.Routes.MapHttpRoute("default", "{controller}/{id}", new { id = RouteParameter.Optional }); foreach(var f in Formatters.Available) { config.Formatters.Add(f); } var host = new HttpSelfHostServer(config); host.OpenAsync().Wait(); Console.WriteLine("Press enter to shutdown service"); Console.ReadLine(); host.CloseAsync().Wait(); }
public void Dispose() { _testPort.Dispose(); HttpClient.Dispose(); _server.CloseAsync().Wait(); }
public void Dispose() { httpClient.Dispose(); server.CloseAsync().Wait(); }