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.Method1.RequestDTO与Service强绑定,一个service必须有RequestDTO作为入口2.不支持根据路由生成url | url->路由表->Controller->根据request.method&actionName匹配到相应的Action1.一个路由规则可以根据参数的不同配到任意的Controlle.Action入口不受限制2.支持根据路由生成url | |
路由参数映射 | 1.从路由映射到RequestDTO | 1.从路由映射到Action参数(参数个数灵活) | |
视图 | 视图参数 | 1.基本上只能依靠强类型视图 | 1.强类型视图2.ViewData3.ViewBag等等 |
视图语法 | 1.不支持section等方式,导致模板不灵活2.@{}语句块中不能直接编写非html字符,只能通过Html.raw()输出 | 1.支持section等各种利于自定义模板的技术2.视图语法更加好用 | |
Ajax | Ajax | 依赖于servicestack.js(当然这跟rest技术有关),导致不支持表单序列化提交可在服务器端配置跨域 | 因为原生,所以并没有影响 |
- 依赖于servicestack.js(当然这跟rest技术有关),导致不支持表单序列化提交
- 可在服务器端配置跨域
- 因为原生,所以并没有影响