WebService服务和ajax使用教程

ajax|web|教程

题外话

WebService技术已经有好几年的历史了,关于基础的理论知识,此处省去,不说了。最近被炒了的ajax技术也被滥用的很是严重,至于细节,不是我说的重点。

ajax技术的入门比较低,javascript和xml的一点利用,个人以为没啥含量,不能在根本上解决企业的需求或者问题,在安全性,线路传输的低级等方面都有致命的问题.

为什么要把WebService和ajax放一起,原因很简单, 两者的共同点准确的来说是经常按照同一数据协议--------XML.

本文全部源码userapp.rar

本文既不说明ajax的弱,也不说WebService的强大,只是通过一个例子说明了如何使用WebService技术和ajax技术.

我通过实例“用户登陆”展示How.
在本地建立一个虚拟目录UserApp。

先创建一个webservice:

namespace Cjjer{
using System;
using System.Web.Services;
[WebService (Name="WebsCjjer",Description="一个验证用户登陆的web服务",Namespace="http://www.cjjer.com/webs/")]
public class UserService{
    [WebMethod (Description ="输入用户名和密,返回权限Int值,0表示失败",MessageName="Login")]
    public int Login(string UserName,string UserPassword){
        return User.Check(UserName,UserPassword);
    }

};
}

我们暂时不看细节,注意这是这个class有头WebService,标记了这是一个web服务.

csc编译掉,放入bin目录,然后login.asmx文件:

<%@WebService Class="Cjjer.UserService"%>

我先不说验证的细节,我们先假设User.Check()返回的是用户级别,0表示验证失败.

现在在URL中输入地址,访问:如图

点击login:

输入正确的用户名和密码,然后点击调用:

如果不是正确的用户名和密码,将int节点值是0.

我们本地的调用是在SOAP操作.

还有很多方式:

SOAP(最低级的)

soap的这里不说,以后会详细说,我这里注意看的是get和post方式:

HTTP GET

面是一个 HTTP GET 请求和响应示例。所显示的占位符需要由实际值替换。

GET /userapp/login.asmx/Login?UserName=string&UserPassword=string HTTP/1.1
Host: s

return:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<int xmlns="http://www.cjjer.com/webs/">int</int>

HTTP POST

下面是一个 HTTP POST 请求和响应示例。所显示的占位符需要由实际值替换。

POST /userapp/login.asmx/Login HTTP/1.1
Host: s
Content-Type: application/x-www-form-urlencoded
Content-Length: length

UserName=string&UserPassword=string

return:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<int xmlns="http://www.cjjer.com/webs/">int</int>

我们可以输入url的地址,或者post的action,就可以访问和提交获取结果了.

此处可以选择的操作其实也很多,使用屏幕清理技术,还可以用xml的处理框架提交信息的结果,也可以用其他技术,不说了,反正都是貌似需要几十行或者比我下面多一些处理。

我说的是使用SDK的工具wsdl工具处理代理的web服务.

wsdl /l:cs /out:WebsCjjer.cs /namespace:Webs /urlkey:WebsUser /nologo http://s:81/userapp/login.asmx?wsdl

得到WebsCjjer.cs源文件。

注意:/urlkey:WebsUser表示是URL可以是从web.config文件的WebsUser获取,这样做是避免硬编码,看看WebsCjjer.cs

.......
    public WebsCjjer() {
            string urlSetting = System.Configuration.ConfigurationSettings.AppSettings["WebsUser"];
            if ((urlSetting != null)) {
                this.Url = urlSetting;
            }
            else {
                this.Url = "http://s:81/userapp/login.asmx";
            }
        }
.......

为了能被其他的人访问,需要加入如下代码到web.config:

    <system.web>
    <webServices>
        <protocols>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
        </protocols>
    </webServices>

就是代理许可.

编译了这个类,到bin,使用的时候如下:

void OnLogin(Object s,EventArgs e){
    Webs.WebsCjjer Ws_App = new Webs.WebsCjjer();
    returnint.Text = Ws_App.Login(MyUserName.Text,MyPassword.Text).ToString();
}

这样,直接能返回结果,不需要我们自己正则或者xml处理,不需要知道验证的细节

时间: 2024-12-03 10:45:35

WebService服务和ajax使用教程的相关文章

WebService服务和ajax 使用教程一例

本文示例源代码或素材下载 题外话:.WebService技术已经有好几年的历史了,关于基础的理论知识,此处省去,不说了.最近被炒了的ajax技术也被滥用的很是严重,至于细节,不是我说的重点. ajax技术的入门比较低,javascript和xml的一点利用,个人以为没啥含量,不能在根本上解决企业的需求或者问题,在安全性,线路传输的低级等方面都有致命的问题. 为什么要把WebService和ajax放一起,原因很简单,两者的共同点是XML,准确的来说是经常按照同一数据协议--------XML.

Ajax与《Ajax基础教程》

ajax|基础教程 <Ajax基础教程>是国际上第一部有关Ajax的图书.其中文版也是国内首部Ajax图书,即将由人民邮电出版社推出. <Ajax基础教程>图灵程序设计丛书 (美)Ryan Asleson Nathaniel T.Schutta著金灵等译 人民邮电出版社2006年1月 定价:35元 Ajax,Ajax,Ajax!请不要弄错了,我说的不是希腊史诗中的英雄,也不是那支享誉全球的梦幻荷兰足球俱乐部,更不是加拿大的某个地名.去问问身边的技术追新族,他会一脸不屑地告诉你:连A

Ajax基础教程(5)- 5.5 完成JavaScript压缩和模糊处理

我们都知道,JavaScript是一种在客户浏览器中执行的解释型语言.换句话说,JavaScript会以明文下载到浏览器,再由浏览器根据需要执行这个JavaScript代码. 用户只要使用浏览器的查看源代码功能就能读到JavaScript源代码,该功能会显示出页面的完整HTML标记,包括所有JavaScript块.即使JavaScript源代码放在一个外部文件中,并用script标记的src属性来引用,用户也可以下载并阅读它.由于查看页面的人都能得到JavaScript源代码,所以不要把专用或机

使用xfire搭建webService服务

后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识. 本来我所了解到的发布webService服务有用cxf和xfire两种,但这个项目明确说了需要用xfire,因此便先学习一下这个.参考网上一些文档,搭建的过程大概如下: 一.环境基础:eclipse4.4.1.maven3.2.5.tomcat7.jdk1.7: 二.搭建过程:      1.下载依赖jar包:由于看到那些xfire入门教程中都说要先下载XFi

C#调用WebService服务(动态调用)

原文:C#调用WebService服务(动态调用) 1 创建WebService using System; using System.Web.Services; namespace WebService1 { /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/", Description="测试服务")] [

java程序调用xfire发布的webService服务(二)

在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步测试了客户端传递数据给服务端. 因为相关的jar包在上一篇已经说过,因此便不再重复说明,这次的测试步骤如下: 一.测试向服务端传递字符串(重点在第二个):     为了进一步理解服务搭建,我重新写了一个服务端服务类: 接口: package xfireTest; public interface X

msdiscocodegenerator-VS 2008 更新Webservice服务时,报自定义工具MSDiscoCodeGenerator 失败 错

问题描述 VS 2008 更新Webservice服务时,报自定义工具MSDiscoCodeGenerator 失败 错 网上说的方法:1.卸载.net Compact 3.5 ,重装 2.重新引用 3.重装VS2008 环境 4.重装.net framework 3.5 方法全试了,还是没有解决.系统昨天还是好好的,今天更新了几个补丁,就出这个问题,各位大哥大姐们 ,你们有没有遇到这个情况,有什么解决方法没有?

AJAX基础教程及初步使用

ajax|基础教程 Ajax基础教程 什么是 AJAX? AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性. 这两项被忽视的性能是: 无需重新装载整个页面便能向服务器发送请求. 对XML文档的解析和处理. 步骤 1 – "请!" --- 如何发送一个HTTP请求 为了用

技术新知:AJAX基础教程

ajax|基础教程     什么是 AJAX? AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年来一直被网络开发者所忽略,直到最近Gmail, Google suggest和google Maps的横空出世才使人们开始意识到其重要性. 这两项被忽视的性能是:     * 无需重新装载整个页面便能向服务器发送请求.    * 对XML文档的解析和处理. 步骤 1 – "请!" --- 如何发送一个HTTP