zoukankan      html  css  js  c++  java
  • Self寄宿

            static void Main(string[] args)
            {
                //Assembly.Load("WebApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");    //加载外部程序集
                var config = new HttpSelfHostConfiguration("http://localhost:8080");
    
                config.Routes.MapHttpRoute(
                    "API Default", "api/{controller}/{id}",
                    new { id = RouteParameter.Optional });
    
                using (var server = new HttpSelfHostServer(config))
                {
                    server.OpenAsync().Wait();
                    Console.WriteLine("Press Enter to quit.");
                    Process.Start("http://localhost:8080/api/xx");
                    Console.ReadLine();
                }
            }
     public class xxController: Controller
        {
            public IEnumerable<string> Get()
            {
                return new string[] { "111", "222" };
            }
        }

    OwinSelfHost

      //  OWIN host
            //**********************************************************************************
            static void Main(string[] args)
            {
                string baseAddress = "http://localhost:9000/";
                // Start OWIN host
                using (WebApp.Start<Startup>(url: baseAddress))
                {
                    // Create HttpCient and make a request to api/values
                    HttpClient client = new HttpClient();

                    var response = client.GetAsync(baseAddress + "api/xx").Result;

                    Console.WriteLine(response);
                    Console.WriteLine(response.Content.ReadAsStringAsync().Result);
                    Console.ReadLine();
                }
            }

            public class Startup
            {
                // This code configures Web API. The Startup class is specified as a type
                // parameter in the WebApp.Start method.
                public void Configuration(IAppBuilder appBuilder)
                {
                    // Configure Web API for self-host.
                    HttpConfiguration config = new HttpConfiguration();
                    config.Routes.MapHttpRoute(
                        name: "DefaultApi",
                        routeTemplate: "api/{controller}/{id}",
                        defaults: new { id = RouteParameter.Optional }
                    );

                    appBuilder.UseWebApi(config);
                }
            }

            //**********************************************************************************

    cross-origin support

    var baseAddress = ConfigurationManager.AppSettings["baseAddress"];
                var config = new HttpSelfHostConfiguration(baseAddress);
                config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
                var cors = new EnableCorsAttribute("*", "*", "*");//**********
                config.EnableCors(cors);
                var server = new HttpSelfHostServer(config);
                server.OpenAsync().Wait();
    class Startup
    {
        //  Hack from http://stackoverflow.com/a/17227764/19020 to load controllers in 
        //  another assembly.  Another way to do this is to create a custom assembly resolver
        Type valuesControllerType = typeof(OWINTest.API.ValuesController);
    
        // This code configures Web API. The Startup class is specified as a type
        // parameter in the WebApp.Start method.
        public void Configuration(IAppBuilder appBuilder)
        {
            // Configure Web API for self-host. 
            HttpConfiguration config = new HttpConfiguration();
    
            //  Enable attribute based routing
            //  http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2
            config.MapHttpAttributeRoutes();
    
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
    
            appBuilder.UseWebApi(config);
        } 
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Web.Http;
    
    namespace OWINTest.Service.API
    {
        [RoutePrefix("api/testing")]
        public class RoutedController : ApiController
        {
            [Route("getall")]
            public IEnumerable<string> GetAllItems()
            {
                return new string[] { "value1", "value2" };
            }
        }
    }
    
    public partial class APIServiceTest : ServiceBase
    {
        public string baseAddress = "http://localhost:9000/";
        private IDisposable _server = null;
    
        public APIServiceTest()
        {
            InitializeComponent();
        }
    
        protected override void OnStart(string[] args)
        {
            _server = WebApp.Start<Startup>(url: baseAddress);
        }
    
        protected override void OnStop()
        {
            if(_server != null)
            {
                _server.Dispose();
            }
            base.OnStop();
        }
    }

     https://github.com/danesparza/OWIN-WebAPI-Service

  • 相关阅读:
    使用cwRsync在Windows的目录之间增量同步文件
    Linux搭建lnmp环境
    ie下文件上传无权访问的问题
    10
    8
    9
    7
    网络爬虫环境配置之的模块安装
    pip的更新问题
    【转】进程与线程的一个简单解释
  • 原文地址:https://www.cnblogs.com/xiangxiong/p/6674223.html
Copyright © 2011-2022 走看看