本文介绍了击退爵士与RESTful Web服务的工作,如ServiceStack的最简单的例子?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要寻找一个非常简单的例子,显示了接线击退code到通过RESTful服务连接骨干模式。我使用ServiceStack | C#后端。所有下面的链接过于复杂,使用localStore,而不是通过URL RESTful服务。我也preFER看到javascript例子不是CoffeeScript的。

我的例子网址是这样的本地主机/实体触及的地方,这将导致RESTful Web服务来回报所有的实体。与打它的本地主机/实体/ 1 将与标识1返回实体。

_http://kmalakoff.github.com/knockback/index.html

_HTTPS://github.com/kmalakoff/knockback-reference-app/

_HTTPS://github.com/addyosmani/todomvc

以下是从第一个链接击退教程中的例子:

 模型,集合,视图模型,和绑定:
//通过CoffeeScript的1.3.3生成
VAR模型,view_model;模型=新Backbone.Model({
  FIRST_NAME:行星
  姓氏:大地
});view_model = kb.viewModel(模型);view_model.full_name = ko.computed((函数(){
  回归+(this.first_name())++(this.last_name());
}),view_model);ko.applyBindings(view_model,$('#kb_view_model_computed')[0]);

但没有你将如何接线骨干模型到你的RESTful Web服务提及。

有如何通过骨干做到这一点的例子,但我不确定,使用时击退事情如何变化的。

以下链接被发现,但没有帮助:

_http://stackoverflow.com/questions/7992431/using-knockoutjs-backbone-together

_http://stackoverflow.com/questions/9704220/is-knockback-js-production-ready

_http://stackoverflow.com/questions/10434203/defining-models-on-server-side-when-using-mvvm-with-knockout-js

在此先感谢提供的任何援助。顺便说一句,你不想让你的超链接下划线得到...;)


解决方案

通过从大项目作为起点。

C#文件: 的Global.asax.cs

 使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用的System.Web;
使用System.Web.Security;
使用System.Web.SessionState;使用ServiceStack.Redis;
使用ServiceStack.ServiceInterface;
使用ServiceStack.WebHost.Endpoints;命名空间的MyApp
{
    公共类Person
    {
        公众诠释标识{搞定;组; }
        公共字符串名字{获得;组; }
        公共字符串名字{获得;组; }
    }    公共类PersonService:RestServiceBase<&人GT;
    {
        公共静态人凯文=新的Person {ID = 1,名字=凯文,姓氏=马拉科夫};
        公共静态人斯科特=新的Person {ID = 2,名字=斯科特,姓氏=闲人};
        公共静态列表<&人GT;人=新的List<&人GT; {凯文,斯科特};        公众覆盖对象使用onGET(人人)
        {
            如果(person.Id!=默认值(INT))
                返回的人[person.Id-1];
            返回的人;
        }        公众覆盖对象onPOST等(人人)
        {
            返回base.OnPost(人);
        }        公众覆盖对象OnPut(人人)
        {
            返回onPOST等(人);
        }        公众覆盖对象OnDelete(人人)
        {
            返回base.OnDelete(人);
        }
    }    公共类APPHOST:AppHostBase
    {
        公共APPHOST():基地(MyApp的的typeof(PersonService).Assembly){}        公共覆盖无效配置(Funq.Container容器)
        {
            ServiceStack.Text.JsConfig.EmitCamelCaseNames = TRUE;
            路线
              。新增<&人GT;(/人)
              。新增<&人GT;(/人/(编号));
        }
    }    公共类WebApiApplication:System.Web.HttpApplication
    {
        保护无效的Application_Start(对象发件人,EventArgs的发送)
        {
            新APPHOST()的init();
        }
    }
}

HTML文件: default.html中

 <!DOCTYPE HTML>
< HTML的xmlns =htt​​p://www.w3.org/1999/xhtml>
  < HEAD>
    <标题> MyApp2< /标题>
    <脚本> window.JSON ||文件撰写('<脚本SRC =htt​​p://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js> \\ X3C / SCRIPT>')< / SCRIPT>
    <脚本SRC =脚本/ jQuery的-1.8.0.js类型=文/ JavaScript的>< / SCRIPT>
    <脚本SRC =脚本/击退-全栈0.16.1.js类型=文/ JavaScript的>< / SCRIPT>
    <脚本SRC =myapp.js类型=文/ JavaScript的>< / SCRIPT>
  < /头>
<身体GT;
    < D​​IV ID =的myapp>
        < D​​IV CLASS =标题>
            < H1>&的MyApp LT; / H1>
        < / DIV>
        < D​​IV CLASS =内容>
            < D​​IV ID ='kb_observable'>
                < P>首先名称:其中,输入级=文本数据绑定=值:名字/>< / P>
                < P>姓:<输入类='输入小右拉式数据绑定=值:名字/>< / P>
                < P>您好,LT&;跨度数据绑定=TEXT:全名>< / SPAN>< / P>!
            < / DIV>
            < D​​IV ID =kb_collection_observable>
                < D​​IV数据绑定=如果:人>
                    <跨度>有者和LT; / SPAN>
                < / DIV>
                < D​​IV数据绑定=的foreach:人>
                    < P>首先名称:其中,输入级=文本数据绑定=值:名字/>< / P>
                    < P>姓:<输入类='输入小右拉式数据绑定=值:名字/>< / P>
                < / DIV>
            < / DIV>
        < / DIV>
    < / DIV>
< /身体GT;
< / HTML>

JavaScript文件: myapp.js

这篇关于击退爵士与RESTful Web服务的工作,如ServiceStack的最简单的例子?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 13:48