热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

轻量级Web数据服务框架Kingsoc.Web.WebCall

轻量级Web数据服务框架:Kingsoc.Web.WebCall1.简介(1)是一种轻量、便捷的Web数据服务框架。(2)可针对任意服务器端的Pagehandler

轻量级Web数据服务框架:Kingsoc.Web.WebCall

1.简介

    (1)是一种轻量、便捷的 Web 数据服务框架。
    (2)可针对任意服务器端的Page/handler/类(包括动态编译的类,如aspx和app_code中放置的cs类),自动生成客户端 js 调用脚本
    (3)以类似WebService Url的方式来提供数据,如:Handler1.ashx\GetTime
    (4)返回的格式很丰富(xml,json,text,image),且客户端可指定服务器端返回的数据格式
    (5)带缓存机制
     ps.该组件可有效的减少基于数据服务的系统复杂性,一套cs代码可供服务器端使用也可以公布给客户端调用,有效的减少了代码量,便于维护。事实上和webapi也有点类似,但没有刻意封装成REST方式,该模块关注的是方法调用。

 

2.功能

 

    方法映射

  • 查看App_Code类映射到客户端的js文件
  • 查看Aspx类映射到客户端的js文件
  • 查看Ashx类映射到客户端的js文件
  • 查看Aspx文件映射到客户端的js文件
  • 查看Ashx文件映射到客户端的js文件

    方法调用

  • 调用App_Code类方法(用映射到客户端的js函数调用)
  • 调用App_Code类方法(用Jquery手工写调用代码)
  • 调用Aspx类方法

    输出格式

  • 服务器端返回格式: text
  • 服务器端返回格式:json
  • 服务器端返回格式:image
  • 客户端指定服务器端方法输出格式:xml
  • 客户端指定服务器端方法输出格式:json
  • 客户端指定服务器端方法输出格式:imagebase64

3.使用

    (1)添加 Kingsoc.Web.WebCall.dll 引用
    (2)创建任意类。使用[WebCall]特性标签
        服务器端代码如:
            using System;
            using Kingsoc.Web.WebCall;
            namespace App
            {
                public class DemoClass
                {
                    [WebCall(
                        Type = ResponseDataType.Text,
                        Description="演示自定义序列化为HTML"),
                        CacheDuration = 30
                    ]
                    public string HelloWorld(string info)
                    {
                        System.Threading.Thread.Sleep(200);
                        return "hello world " + info;
                    }
                }
            }
    (2)注册HttpHandler:
        
          
        
    (3)直接用生成的客户端js函数调用
        1.引用
            
            生成的 JS 函数如:
            App.DemoClass.HelloWorld = function(info, callback, senderId){
                var args = {info:info};
                var optiOns= {dataType:'text'};
                return this.CallWebMethod('HelloWorld', args, options, callback, senderId);
            }
        2.调用
            (1) 同步调用: var txt = App.DemoClass.HelloWorld("kevin");
            (2) 异步调用1:App.DemoClass.HelloWorld("kevin", function(data){ $("#clickMe").html(data); });
            (3) 异步调用2:App.DemoClass.HelloWorld("kevin", function(){}, "clickMe");
        3.若有必要可修改这两个全局函数(可用于做全局loading效果)
            App.PreCallWebMethod = function (id) {if (id != null) $("#" + id).html("loading...");};
            App.AfterCallWebMethod = function (id, data) {if (id != null) $("#" + id).html(data);};
    (4)手工写jquery方法调用
        $.ajax({
            url: "WebCall.App.DemoClass.axd/HelloWorld",
            data: { info: 'kevin' }
        }).always(function (ret) {
            $("#clickMe").html(ret);
        });

4.下载

示例项目:TestWebCall

推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
author-avatar
手机用户2502916257
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有