ASP.NET Web Api 实践系列(一)自我寄宿
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Web Api 实践系列(一)自我寄宿,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1629字,纯文字阅读大概需要3分钟。
内容图文
![ASP.NET Web Api 实践系列(一)自我寄宿](/upload/InfoBanner/zyjiaocheng/1247/c2fb2720b24749999df00384518b66c3.jpg)
从今天开始,研究ASP.NET Web Api(以下有时会简称Web Api)。我会写一个实践系列专题,不一定成理论体系,只是遇到问题或心得,记下来。争取用一段较长的时间对ASP.NET Web Api有个较深入的理解。这里我是使用VS2013集成开发环境,如果版本不够,可以用NuGet去下载Web Api相关dll。
今天讨论自我寄宿Web Api。
Web Api继承了WCF的优点,除了常规的Web寄宿(IIS)外,还可以在NET的控制台、WinForms等程序中寄宿。这里讲一讲在控制台中寄宿Web Api。
一、编写Api方法
新建C#类库项目MyControllers,引用System.Web.Http.dll。
编写Api类文件MyValuesController.cs:
using System.Web.Http; namespace MyControllers { public class MyValuesController : ApiController { public string Get() { return " OK " ; } } }
二、添加寄宿项目
添加一个控制台项目MyConsoleApiSvr,引用MyControllers项目,同时引用以下4个Web Api相关DLL:
- System.Net.Http.dll
- System.Web.Http.dll
- System.Net.Formatting.Http.dll
- System.Web.Http.SelfHost.dll
主程序如下:
1 using System; 2 using System.IO; 3 using System.Web.Http; 4 using System.Web.Http.SelfHost; 5 using System.Reflection; 6 7 namespace MyConsoleApiSvr 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Console.Title = "Api Service"; 1415var apiDll = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MyControllers.dll"); 16 Assembly.LoadFrom(apiDll); 17var config = new HttpSelfHostConfiguration("http://localhost:4588"); 18 config.Routes.MapHttpRoute( 19 name: "DefaultApi", 20 routeTemplate: "api/{controller}/{id}", 21 defaults: new {id = RouteParameter.Optional}); 22using (var svr = new HttpSelfHostServer(config)) 23 { 24 svr.OpenAsync().Wait(); 25 Console.WriteLine("API服务已开启!"); 26 Console.ReadLine(); 27 } 2829 } 30 } 31 }
以上代码可以分为几个步骤:
- 加载包含Api控制器方法的DLL。(第16行)
- 添加服务配置,并指定服务寄宿地址。(第17行)
- 添加全局默认路由配置。(第18-21行)
- 定义并打开服务。(第22、24行)
三、运行服务并测试
运行Web Api服务:
并在浏览器中测试:
原文:http://www.cnblogs.com/huatao/p/4712848.html
内容总结
以上是互联网集市为您收集整理的ASP.NET Web Api 实践系列(一)自我寄宿全部内容,希望文章能够帮你解决ASP.NET Web Api 实践系列(一)自我寄宿所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。