Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Nginx Windows ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

ServiceStack.Host.MVC vs ASP.NET MVC

ASP.NET ServiceStack .NET @ 2014-05-04 13:12:16 · 阅读:(4220)
ServiceStack.Host.MVC vs ASP.NET MVC
解决方案解决方案子项ServiceStack.Host.MVC(3.9.71)ASP.NET MVC(3.0)
路由
路由规则

1.只能配置/home/{name}/{page}形式

2.不能对匹配区域({name})指定任何形式的通配符(正则,等等)

1.可配置各种形式的规则,比如:home/{name}_{page}

2.可以对匹配区域({name})指定正则匹配

路由匹配

url->路由表->RequestDTO->根据request.method匹配到相应的service.Method

1.RequestDTO与Service强绑定,一个service必须有RequestDTO作为入口

2.不支持根据路由生成url

url->路由表->Controller->根据request.method&actionName匹配到相应的Action

1.一个路由规则可以根据参数的不同配到任意的Controlle.Action入口不受限制

2.支持根据路由生成url

路由参数映射1.从路由映射到RequestDTO1.从路由映射到Action参数(参数个数灵活)
视图视图参数

1.基本上只能依靠强类型视图

1.强类型视图

2.ViewData

3.ViewBag

等等

视图语法

1.不支持section等方式,导致模板不灵活

2.@{}语句块中不能直接编写非html字符,只能通过Html.raw()输出


1.支持section等各种利于自定义模板的技术

2.视图语法更加好用

AjaxAjax
  1. 依赖于servicestack.js(当然这跟rest技术有关),导致不支持表单序列化提交

  2. 可在服务器端配置跨域

  1. 因为原生,所以并没有影响



Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

ASP.NET ServiceStack .NET

随笔目录


    © Copyright 2012-2023 Ken的杂谈

    豫ICP备10025012号-1

    ASP.NET Core(6.0) on Linux