前提:
最近, 有不少同学又问到, 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="1"/>
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 默认处理的是无后缀.
所以两者并无冲突, 直接引用, 加配置就可以了, 没你想的复杂.
来源: https://www.cnblogs.com/cyq1162/p/11939069.html