ASP.NET Aries 高级开发教程:如何写WebAPI接口
前提:
最近,有不少同学又问到,Aries里如何提供WebAPI接口?
针对这个问题,今天给顺路写个教程,其实呢,很简单的。
方式一:直接用WebService提供接口。
用这种方式,直接添加接口就可以了,Aries只是默认处理了.html后缀的请求。对于WS的asmx后缀是没有影响的,所以传统怎么添加就怎么添加。
方式二:单独用Taurus.MVC写一个接口项目。
用这种方式,就是把接口独立成一个项目,然后通过IIS部署成子应用程序就可以了。
只是部署成子应用程序的时候,需要注意一下子目录和根目录的web.config,出现重复的只能留根目录的那个。
(一般都会建议用户用这种方式,好处是可以在IIS里学会一下怎么部署子应用程序。)
方式三:在Aries引入Taurus.MVC即可。
这个方式,其实也很简单,下面介绍一下简单的部署:
1、引用Taurus.MVC用于写WebAPI:
在Web.UI项目添加引用Taurus.Core.dll(可以在Nuget上引用,也可以引用源码项目再引用项目)
2、配置Taurus.MVC的两个必备项:
A、在HttpModule中添加URL拦截。
//这是原来有的:
<add name="Aries.Core" type="Aries.Core.UrlRewrite,Aries.Core" />
//这是新添加的:
<add name="Taurus.Core" type="Taurus.Core.UrlRewrite,Taurus.Core"/>
B、在AppSetting中设置路径模式:
<!--配置模式【值为0,1或2】[默认为1]
值为0:匹配{Action}/{Para}
值为1:匹配{Controller}/{Action}/{Para}
值为2:匹配{Module}/{Controller}/{Action}/{Para}-->
<add key="Taurus.RouteMode" value=""/>
C、在AppSetting中设置接口代码所在的项目:
<!--指定控制器所在的项目(Dll)名称(可改,项目编绎的dll叫什么名就写什么)
<add key="Taurus.Controllers" value="Taurus.Controllers"/>-->
如果是用Nuget上引用的,默认都会有上面的两个,其它默认生的,可以注释掉。
3、开始写应用接口代码:
接口代码写在哪里呢?放在哪个项目都可以,只要上面C点的配置指向就可以了,如果接口代码分散在多个项目中,配置的value可以用“逗号”分隔。
按Taurus.MVC的方式写接口,继承自Taurus.Core.Controller即可:
如:
/// <summary>
/// API 接口
/// </summary>
public class APIController : Taurus.Core.Controller
{
public void Hello()
{
Write("hello Controllers.API");
}
}
接口访问:http://.../api/hello
总结说明:
Aries中默认处理的是.html后缀。
Taurus默认处理的是无后缀。
所以两者并无冲突,直接引用,加配置就可以了,没你想的复杂。
ASP.NET Aries 高级开发教程:如何写WebAPI接口的更多相关文章
- ASP.NET Aries 高级开发教程:Excel导入之代码编写(番外篇)
前言: 以许框架提供的导入配置功能,已经能解决95%以上的导入情况,但有些情况总归还是得代码来解决. 本篇介绍与导入相关的代码. 1.前端追加导入时Post的参数: var grid = new AR ...
- ASP.NET Aries 高级开发教程:Excel导入之单表配置(上)
前言: 随着ASP.NET Aries的普及,刚好也有点闲空,赶紧把Excel导入功能的教程补上. Excel导入功能,分为四篇:单表配置(上).多表高级配置(中).配置规则(下).代码编写(番外篇) ...
- ASP.NET Aries 高级开发教程:主题样式及多语言(标签化控制)
前言: 最新ASP.NET Aries升级到V5.2.0以上之后,之前的样式和多语言机制,有了重大的升级机制,这篇就简单介绍一下. 1.控制开关 在配置维护那里,新增了两个控制项: 2.如何添加主题 ...
- ASP.NET Aries 高级开发教程:使用存储过程(番外篇)
前言: 发现这个问题,有不少人提起过,所以就简单写成文章吧. 接下来看如何在Aries 框架中使用存储过程,整体步骤和绑定普通视图差不多. 步骤一:新建一个空视图. 可以在SqlCode管理中,创建一 ...
- ASP.NET Aries 高级开发教程:Excel导入之多表高级导入配置(中)
前言: 在面对Excel的各种复杂导入情况中,多表导入是很常见的情景. 今天就来写一下多表导入是如何配置的. 1.自定义导入模板 怎么自定义: 其实就是自己新建一个Excel了,把列头都写好. 不过有 ...
- ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)
前言: 前面两篇都是大体介绍流程,有一些配置细节,没有细说,这里用一篇补上. 1.Excel配置项 起始行索引.列头跨行数: 对于自定义的Excel导入模板(有时候模板是由客户提供,模板的规则很乱) ...
- ASP.NET Aries 高级开发教程:行内编辑事件怎么新增数据到后台(番外篇)
前提: 今天又网友又提出了一个问题,说行内编辑保存之前,怎么新增一些数据提交到后台? 对方说看了源码,也没找到怎么处理,这里就写文给解答一下. 解答: 于是我看了一眼源码,只能说你没找到地方: 第12 ...
- ASP.NET Aries 高级开发教程:表单检测字段是否已存(番外篇)
前言: 昨天刚好有人问了这个问题,因此就针对这个问题,补上一篇吧. 正文: 如图:在用户编辑列表中,用户名是会自动检测是否已存在的. 具体对应的Html内容如下: <label><e ...
- ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑
前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 # ...
随机推荐
- 百万年薪python之路 -- 函数初始练习
1.整理函数相关知识点 2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(lst): lst = lst[1::2] return l ...
- 记录面试龙腾简合-java开发工程师经历
/** * ############ * 变强是会掉光头发的!现在的头发还是很茂盛,是该开心还是难过呢.. * ############ * / 总结下近期面试龙腾简合-java开发岗的经历.附上笔试 ...
- Java基础(43)Queue队列
Collection接口的第三个子接口是Queue接口,而Queue接口的子接口又是Deque接口和BlockingQueue接口. 实现了Deque接口的类有:ArrayDeque类.Concurr ...
- Bran的内核开发教程(bkerndev)-07 中断描述符表(IDT)
中断描述符表(IDT) 中断描述符表(IDT)用于告诉处理器调用哪个中断服务程序(ISR)来处理异常或汇编中的"int"指令.每当设备完成请求并需要服务事, 中断请求也会调用I ...
- js如何展示上传的图片
前言:本文章主要讲的是上传的图片如何展示在页面上. 一般来说,我们会先将本地图片上传到服务器,上传成功后,由后台返回图片的网络地址再在前端显示.但是,我今天讲的是不通过前面说的过程,而是直接使用js将 ...
- Python爬虫常用小技巧之设置代理IP
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来 ...
- RTKLib的Manual解读
Key-word: integer ambiguity resolution :整周模糊度解算 navigation:导航 Kinematic:动态,RTK的K rover:漫游 validation ...
- 学习笔记64_k邻近算法
1 .假定已知数据的各个属性值,以及其类型,例如: 电影名称 打斗镜头 接吻镜头 电影类别 m1 3 104 爱情片 m2 2 100 爱情片 m3 1 81 爱情片 m4 2 90 爱情片 w1 1 ...
- Nginx篇--最初级用法web
最近很久都没有写博客了,一来主要是时间不够每天回到家都接近晚上11点了,但是以后每天还是保证一篇随笔.好用来整理总结自己的知识. web服务器很有多例如:Apache nginx tengine li ...
- [BZOJ4310] 跳蚤 SAM || SA
没有代码的. 传送门 先二分出第 \(mid\) 大的字串 \(s\),然后从后往前切割,每次大于 \(s\) 了就不行. 涉及到的操作:求第 \(mid\) 大子串:比较两个字串(求 \(lcp\) ...