色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

類和結(jié)構體解析

系列文章導航:

創(chuàng)建一個示例和WebMethod特性解析

WebService特性和數(shù)組類型解析

類和結(jié)構體解析

利用YAHOO公開API做天氣預報Web服務

Webservice 的設計和模式

Remoting和Webservice的區(qū)別


  現(xiàn)在開始學習Web服務,寫下自己學習過程中的一些感受,拿出來與大家分享,歡迎批評指正。希望能給跟我一樣初學Web服務的朋友一些幫助。

  今天學習了Web服務的類和結(jié)構體一節(jié),晚上寫下自己所理解的內(nèi)容,跟大家一起分享了。請批評指正。

Web服務能夠把用戶定義的類和結(jié)構體作為參數(shù)或者返回值,但是這里需要記住一些規(guī)則,是關于那些類變量可以在Web服務中使用的:

(1)所有類變量必須是基本數(shù)據(jù)類型或者基本數(shù)據(jù)類型的數(shù)組。

(2)所有類變量必須是公開的或者有一個公開時限的get和set訪問器的屬性。

為了理解在Web服務中使用類,我做了個實驗。創(chuàng)建Web服務,在其中添加一個數(shù)組。

        //構造并填充info數(shù)組
        string[,] strStuInfo ={
                            
{"200511020120","貳零零五屆","人文法律學院","社會工作","(1)班","賀無悔","1"},
                            
{"200511020121","貳零零五屆","人文法律學院","社會工作","(1)班","賀梁需","2"},
                            
{"200511010122","貳零零五屆","人文法律學院","法律專業(yè)","(1)班","賀陸磊","3"},
                            
{"200511010220","貳零零五屆","人文法律學院","法律專業(yè)","(2)班","賀白靈","4"},
                            
{"200511010221","貳零零五屆","人文法律學院","法律專業(yè)","(2)班","李劍付","5"},
                            
{"200511020222","貳零零五屆","人文法律學院","社會工作","(2)班","李敬意","6"},
                            
{"200511100120","貳零零五屆","化工生物學院","生物制藥","(1)班","李黃興","7"},
                            
{"200511100221","貳零零五屆","化工生物學院","生物制藥","(2)班","李蕾蕾","8"},
                            
{"200511100322","貳零零五屆","化工生物學院","生物制藥","(3)班","杜白冰","9"},
                            
{"200611120120","貳零零六屆","化工生物學院","發(fā)酵工程","(1)班","杜書并","10"},
                            
{"200611120121","貳零零六屆","化工生物學院","發(fā)酵工程","(1)班","杜小魚","11"},
                            
{"200611120421","貳零零六屆","化工生物學院","發(fā)酵工程","(4)班","杜聲聲","12"},
                         }
;

系列文章導航:

創(chuàng)建一個示例和WebMethod特性解析

WebService特性和數(shù)組類型解析

類和結(jié)構體解析

利用YAHOO公開API做天氣預報Web服務

Webservice 的設計和模式

Remoting和Webservice的區(qū)別


下面我們要做的就是添加一個類,第一個類定義StuInfo,由五個字符串、一個StudentInfo類型的數(shù)組和一個公共屬性組成。公共屬性對應了一個私有的字符串。StudentInfo類則由一個名為intStuRank的學生排名和strStuCollege的學生所屬學院組成。并添加以下的代碼:

    public class StuInfo
    
{
        
public string strStuNum;
        
public string strStuYear;
        
public string strStuCollege;
        
public string strStuClass;
        
public string strStuName;

        
public StudentInfo[] Information = new StudentInfo[2];

        
private string strInfo;
        
public string Info
        
{
            
set
            
{
                strInfo 
= value;
            }

            
get
            
{
                
return strInfo;
            }

        }


        
public class StudentInfo
        
{
            
public int intStuRank;
            
public string strStuCollege;
        }

    }

系列文章導航:

創(chuàng)建一個示例和WebMethod特性解析

WebService特性和數(shù)組類型解析

類和結(jié)構體解析

利用YAHOO公開API做天氣預報Web服務

Webservice 的設計和模式

Remoting和Webservice的區(qū)別


在Web服務中,我們添加GetStuInfo方法,它使用了StuInfo類為傳入的strStuNum返回的學生信息的歷史數(shù)據(jù)。代碼如下:

        [WebMethod(Description = "通過類返回學生信息的歷史數(shù)據(jù)")]
        
public StuInfo GetStuInfo(string strStuNum)
        
{
            StuInfo stuinfo 
= new StuInfo();

            
//遍歷數(shù)組,尋找strStuName
            for (int i = 0; i < strStuInfo.GetLength(0); i++)
            
{
                
if (String.Compare(strStuInfo[i, 0], strStuNum, true== 0)
                
{
                    stuinfo.strStuNum 
= strStuNum;
                    stuinfo.strStuYear 
= strStuInfo[i, 1];
                    stuinfo.strStuCollege 
= strStuInfo[i, 2];
                    stuinfo.strStuClass 
= strStuInfo[i, 3];
                    stuinfo.strStuName 
= strStuInfo[i, 5];
                    stuinfo.Info 
= "通過類返回學生相關信息";

                    
//保存StuInfo數(shù)據(jù)
                    stuinfo.Information[0= new StuInfo.StudentInfo();
                    stuinfo.Information[
0].intStuRank = 5;
                    stuinfo.Information[
0].strStuCollege = "人文法律學院";

                    stuinfo.Information[
1= new StuInfo.StudentInfo();
                    stuinfo.Information[
1].intStuRank = 3;
                    stuinfo.Information[
1].strStuCollege = "化工生物學院";

                    
return stuinfo;
                }

            }

            stuinfo.strStuNum 
= strStuNum;
            stuinfo.strStuName 
= "沒有找到人員";
            
return stuinfo;
        }

系列文章導航:

創(chuàng)建一個示例和WebMethod特性解析

WebService特性和數(shù)組類型解析

類和結(jié)構體解析

利用YAHOO公開API做天氣預報Web服務

Webservice 的設計和模式

Remoting和Webservice的區(qū)別



(一)創(chuàng)建發(fā)現(xiàn)文檔

 

一旦創(chuàng)建完成Web服務,負責開發(fā)Web服務使用程序的開發(fā)人員需要找到一種方法,從而能夠了解服務器上有哪些Web服務可用,這些Web服務提供了那些方法,這些方法和屬性可接受那些參數(shù),以及這些Web方法的返回值是什么,這個過程叫做發(fā)現(xiàn)。

當然這是一個可選的過程,如果使用程序的開發(fā)人員了解Web服務文件的URL,那么這就不需要實施發(fā)現(xiàn)動作。

(1)利用查詢字符串實現(xiàn)發(fā)現(xiàn)

開發(fā)者可以獲得在服務器中的DISCO文件來創(chuàng)建一個客戶端應用程序。如果需要查看這個文件,可以在Web服務的文件后面加上?disco,效果如下圖:

(2)靜態(tài)發(fā)現(xiàn)文件

如果Web服務的使用程序需要使用靜態(tài)發(fā)現(xiàn)文件,那么Web服務開發(fā)人員必須創(chuàng)建一個靜態(tài)發(fā)現(xiàn)文件。

雖然可以手工創(chuàng)建.disco文件,但是使用disco.exe命令行工具遠比那樣簡單的多。打開命令行窗口(這里可不是在運行中打CMD的那個,而是Visual Studio 2008命令提示,從而可以獲得正確的路徑),然后鍵入與下面類似的命令(整行命令必須寫在一行中):

disco Web服務的地址

如果想看DISCO工具的完整參數(shù)清單,鍵入:disco/? 命令。

 

(二)預編譯程序集

 

典型的部署目錄結(jié)構圖(沒裝PS,用VISIO話的,大家將就將就吧)

 

 

NET技術類和結(jié)構體解析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 民权县| 镇宁| 依兰县| 修武县| 兴化市| 信丰县| 双辽市| 桃园县| 德保县| 翁牛特旗| 禄丰县| 阳山县| 清徐县| 涪陵区| 阜新市| 禄劝| 子长县| 浑源县| 中牟县| 汽车| 庆安县| 辽宁省| 元氏县| 汉沽区| 尉犁县| 奇台县| 德钦县| 泽普县| 图们市| 马尔康县| 逊克县| 玛沁县| 临桂县| 七台河市| 车致| 安远县| 鹤峰县| 云龙县| 孟村| 山阳县| 江永县|