ServiceStack.Host.MVC vs ASP.NET MVC

2014-05-04 5683 阅读 Dotnet
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. 因为原生,所以并没有影响