麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

WebService服務和ajax使用教程

2024-07-21 02:28:29
字體:
來源:轉載
供稿:網友

題外話

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處理,不需要知道驗證的細節


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日本教室三级在线看 | 在线免费视频a | 欧美一级片 在线播放 | 欧美日韩亚洲一区二区三区 | 鲁久久 | 久久久久久亚洲国产精品 | 看全色黄大色黄大片女图片 | 欧美成人免费看 | 美女毛片儿 | 免费色片| 亚洲日本欧美 | 成人午夜激情视频 | 久久免费精品视频 | 成人短视频在线观看免费 | 黄色免费在线网址 | 久久久久久久久久久久久久国产 | 久久精品九九 | 日韩精品免费看 | 日本看片一区二区三区高清 | 日本最新免费二区三区 | 91精品欧美一区二区三区 | 日本一区二区三区视频在线 | 一区二区久久精品66国产精品 | 成人精品免费看 | 99精品视频在线观看免费播放 | 国产精品视频免费在线观看 | 91精品成人福利在线播放 | 亚洲国产精品久久久久久久久久 | 色七七久久影院 | 毛片三区 | 色诱亚洲精品久久久久久 | 中文在线观看免费视频 | 久久久久久久一区 | 精品国产一二区 | 欧美自拍 | 中国av一级片 | 多男操一女视频 | 黄色电影免费网址 | 国产一级免费电影 | 国产精品久久久久国产精品三级 | 亚洲第一页在线观看 |