ASP.net Joyrock异步应用示例、JSON-RPC使用方法

原创 2015年05月20日 16:51:40

使用Joyrock 需要先引用Jayrock.dll,Jayrock.Json.dll两文件,另外在web页面引入json.js文件(不在同一个地方下载的json.js可用不了),

.net 后台文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Jayrock.Json;
using Jayrock.JsonRpc;
using Jayrock.JsonRpc.Web;

namespace Exam.Jayrock
{

    public class Handler1 : JsonRpcHandler
    {
        /// <summary>
        /// 未带参数
        /// </summary>
        /// <returns></returns>
        [JsonRpcMethod("getstring1")]
        public string getstring1()
        {
            return String.Format("Welcome to Jayrock by {0}!",DateTime.Now );
        }
        /// <summary>
        /// 带参数
        /// </summary>
        /// <param Name="str">The string.</param>
        /// <returns></returns>
        [JsonRpcMethod("getstring2")]
        public string getstring2(string str)
        {
            return String.Format("Welcome to Jayrock by {0}!", str);
        }
        [JsonRpcMethod("addEntity")]
        public int addEntity(JsonObject ent)
        {
            new Entity("demo").addEntity(ent);
            return 1;
        }
        [JsonRpcMethod("updateEntity")]
        public int updateEntity(JsonObject ent) 
        {
            new Entity("demo").updateEntity(ent);
            return 1;
        }
        [JsonRpcMethod("delEntity")]
        public int delEntity(int id)
        {
            new Entity("demo").delEntity(id);
            return 1;
        }
        [JsonRpcMethod("getEntityList")]
        public List<JsonObject> getEntityList(string where)
        {
            return new Entity("demo").getEntityList(where);
        }
    }
}

前台调用页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>demo</title>
    <script src="json.js" type="text/javascript"></script>
    <script type="text/javascript" src="Handler1.ashx?proxy"></script>
    <script>
        var demo = new Handler1();
        
        function syncGetString1()
        {
            alert(demo.getstring1());
        }
        function asyncGetString1()
        {
            demo.getstring1(function (val){
                alert(val.result);
            })
        }
        function syncGetString2()
        {
            var str = "voodooer";
            alert(demo.getstring2(str));
        }
        function asyncGetString2()
        {
            var str = "voodooer";
            demo.getstring2(str,function (val)
            {
                alert(val.result);
            })
            alert("我执行完了:)");
        }
        function addEntity()
        {
            var Entity = Object();
            Entity.Name = "voodoer";
            Entity.Sex = "男";
            var result = demo.addEntity(Entity);
            if (result > 0) { alert("添加实体成功!");}
        }
        function updateEntity()
        {
            var Entity = Object();
            Entity.ID = 1;
            Entity.Name = "voodoer";
            Entity.Sex = "男";
            var result = demo.updateEntity(Entity);
            if (result > 0) { alert("更新实体成功!"); }
        }
        function delEntity()
        {
            
            var result = demo.delEntity(1);
            if (result > 0) { alert("删除实体成功!"); }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <p>测试getstring1</p>
        <input type="button" id="btn1"  value="同步调用" onclick="syncGetString1()"/>
        <input type="button" id="btn2"  value="异步调用" onclick="asyncGetString1()"/>
        <hr />
        <p>测试getstring2</p>
        <input type="button" id="Button1"  value="同步调用" onclick="syncGetString2()"/>
        <input type="button" id="Button2"  value="异步调用" onclick="asyncGetString2()"/>
        <hr />
        <p>测试Entity</p>
        <input type="button" id="Button3"  value="addEntity" onclick="addEntity()"/>
        <input type="button" id="Button4"  value="updateEntity" onclick="updateEntity()"/>
        <input type="button" id="Button5"  value="delEntity" onclick="delEntity()"/>
        <hr />
    </div>
    </form>
</body>
</html>


版权声明:本文为博主原创文章,未经博主允许不得转载。

Jayrock.Json最新DLL及JS下载

  • 2008年11月07日 16:32
  • 62KB
  • 下载

Jayrock

  • 2008年04月08日 11:29
  • 62KB
  • 下载

Jayrock RPC的Json例子教程

Jayrock RPC的Json例子教程js.js function createxmlhttp() { var xmlhttp; if (window.ActiveXObject) { ...
  • zfrong
  • zfrong
  • 2009年03月30日 16:21
  • 1401

关于ASP.net - Joyrock:异步应用示例、JSON-RPC了解

今天无意看到 Joyrock 及 JSON-RPC 关键字眼;貌似没听说过,搜索一下大概了解了一下。在网上找到了相关dll、js文件;并动手建了个web项目,写了个简单例子;以便看客直接进入实战。 ...
  • chz_cslg
  • chz_cslg
  • 2012年05月24日 11:01
  • 1101

关于ASP.net - Joyrock:异步应用示例、JSON-RPC了解

今天无意看到 Joyrock 及 JSON-RPC 关键字眼;貌似没听说过,搜索一下大概了解了一下。在网上找到了相关dll、js文件;并动手建了个web项目,写了个简单例子;以便看客直接进入实战。 ...
  • chengmodelong
  • chengmodelong
  • 2015年05月15日 14:48
  • 214

充分发挥异步在 ASP.NET 中的强大优势

在本篇博文中,我们将讨论一下 IIS 和 ASP.NET 处理请求的方式,然后看看 ASP.NET 中哪些地方可以使用异步,最后再讨论几个最能体现异步优势的场景。...
  • wangpeng198688
  • wangpeng198688
  • 2016年04月13日 16:03
  • 547

php实现的一个简单json rpc框架实例

这篇文章主要介绍了php实现的一个简单json rpc框架实例,本文给出了RPC服务端和客户端代码以及应用实例,需要的朋友可以参考下   json rpc 是一种以json为消息格式的远程调用服务,它...
  • qq2221615499
  • qq2221615499
  • 2015年03月30日 10:39
  • 430

ASP.NET 委托,异步调用例子

 简要介绍:1.定义异步执行需要调用的方法2.定义具有与异步执行方法相同签名的委托(Delegate);3.调用 BeginInvoke 和 EndInvoke 方法。   3.1. BeginInv...
  • fdsa123456
  • fdsa123456
  • 2008年11月30日 11:13
  • 4712

详解 ASP.NET异步

详解 ASP.NET异步     在前文中,介绍了.NET下的多种异步的形式,在WEB程序中,天生就是多线程的,因此使用异步应该更为谨慎。本文将着重展开ASP.NET中的异步。     【注意】...
  • taoerchun
  • taoerchun
  • 2015年11月10日 18:17
  • 1131

2016-AspNet-MVC教学-8-异步Controller的应用

这是MVC4最新的同步技术,里面采用了Lambda表达式,很简洁.异步操作主要用于I/O绑定操作(比如数据库访问和远程服务调用等),而非CPU绑定操作,因为异步操作对整体性能的提升来源于:当I/O设备...
  • vinglemar
  • vinglemar
  • 2016年04月02日 17:51
  • 585
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.net Joyrock异步应用示例、JSON-RPC使用方法
举报原因:
原因补充:

(最多只允许输入30个字)