Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
系列目录
1、Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行。
2、Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
3、Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。
4、Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
5、Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
6、Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。
7、Taurus.MVC WebAPI 入门开发教程7:业务逻辑基类LogicBase的使用。
8、Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。
后续还有两个系列:
1、Taurus.MVC 微服务 入门开发教程系列。 2、Taurus.MVC Web应用 入门开发教程系列。
前言:
本篇继续上一篇运行程序之后,接着介绍控制器的添加和默认路由寻址模式。
1、添加控制器:
在上一篇文章,运行的项目中:
新建HelloController类,继承自核心控制器,编写输出Hello World方法。

注意事项核心三要素:
1、类名为:XXXController,以Controller结尾。 2、类继承自:Taurus.Core.Controller(可以二次继承,构建自己的Base基类)。 3、类名和方法修饰符号为:public, 方法返回值为void,输出用Write方法输出。
2、指定控制器搜索名称:
控制器可以放在任意项目中,建议是统一新建一个控制器项目存放。
为了避免框架搜索全局的dll,可以通过配置指定控制器所有在的dll名称,方便框架高效搜索。
1、ASP.NET项目:web.config 配置:

<configuration>
<appSettings>
<!--指定控制器所在的项目(Dll)名称,多个用“,“号分隔-->
<add key="Taurus.Controllers" value="Taurus.Controllers"/>
</appSettings>
</configuration>
2、ASP.NET Core系列项目:appsettings.json 配置:

{
"AppSettings": {
//这里要改成:控制器所在的项目编绎后的dll名称(不包括后缀,允许多个,用逗号分隔)
"Taurus.Controllers": "WebApplication1"
}
}
3、F5运行程序:
输入请求网址:/控制器名称/方法名称

从结果很容易看出,框架默认的路径规则是:
/控制器名称(不含Controller结尾部分)/方法名称。
说明:
需要定义其它的路由规则,详情可以见下一篇文章。
输入其它无效请求网址:

因为没有定义bigboy方法,所以系统返回404。
4、拦截404的不存在方法:重载Default方法
public class HelloController : Taurus.Core.Controller
{
public override void Default()
{
Write("Hello " + Action);//Action即方法名。
}
public void World()
{
Write("Hello World");
}
}
再输入之前的请求网址:


说明:
可以看到,所有404未定义的方法,都统一走进了重载后的Default方法,可以进行归一处理。
重点:控制器内重载的Default方法,仅对控制器内的无效地址生效,即/hello/xxxxxx,这里的xxxxxx部分生效。
如果是控制器级别的,则由全局控制器DefaultController处理,后续有文章介绍。
总结:
本篇介绍控制器的添加和请求规则,下一篇讲述更进一步的路由规则。
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。的更多相关文章
- Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程5:控制器安全校验属性【HttpGet、HttpPost】【Ack】【Token】【MicroService】。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
前言: Taurus.MVC 微服务版本已经发布了:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单. 以前都是框架发布时写点相关功能点的文章,没有形成 ...
- Taurus.MVC WebAPI 入门开发教程3:路由类型和路由映射。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程6:全局控制器DefaultController与全局事件。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC WebAPI 入门开发教程8:WebAPI文档与自动化测试。
系列目录 1.Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行. 2.Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World. 3.Tau ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:4、默认安全认证与自定义安全认证。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:2、让Kestrel支持绑定多个域名转发,替代Ngnix使用。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
随机推荐
- map计算
map理解 参考1: https://github.com/rafaelpadilla/Object-Detection-Metrics 参考2:https://github.com/rafaelpa ...
- 使用Rclone将Onedirve挂载到Linux本地
1. centos挂载onedrive时, 需要安装fuse. # 安装fuse yum -y install fuse 2. 安装完fuse后使用rclone进行挂载 #创建挂载目录 mkdir - ...
- 【freertos】012-事件标志概念和实现细节
目录 前言 12.1 实现事件机制的预备知识 12.1.1 守护任务 12.1.2 事件的不确定性 12.1.3 事件组的报文 12.2 事件概念 12.3 事件用途参考 12.4 事件实现原理简述 ...
- JAVA 异常 基本知识
异常 异常定义 异常是运行过程中出现的错误 人为错误:填写错误等 随机错误:网络中断.内存耗尽等 一个健壮的程序必须处理各种各样的错误 Java的异常是class Object Throwable E ...
- flink窗口分类
窗口分类 按照驱动类型分类 窗口本身是截取有界数据的一种方式,所以窗口一个非常重要的信息就是"怎样截取数据".换句话说,就是以什么标准来开发和结束数据的截取. 按照驱动类型分类主要 ...
- markdown常用到的语法
一.标题 后加文字,几个#代表几级标题,最高为6 ,标准语法一般在#后跟个空格再写文字. 二.分割线 三个或者三个以上的 - 或者 * 三.图片 格式:  A ...
- ABAP CDS DDHEADANNO
- linux服务器通过mailx邮件发送附件到指定邮箱
shell脚本查询数据库#!/bin/bash HOSTNAME="数据库IP" PORT="端口" USERNAME="用户" PASSW ...
- 从零打造一个Web地图引擎
说到地图,大家一定很熟悉,平时应该都使用过百度地图.高德地图.腾讯地图等,如果涉及到地图相关的开发需求,也有很多选择,比如前面的几个地图都会提供一套js API,此外也有一些开源地图框架可以使用,比如 ...
- Java已知图片路径下载图片到本地
public static void main(String[] args) { FileOutputStream fos = null; BufferedInputStream bis = null ...