【充值阅读小说源码】【云抢包 源码】【休闲圈捕鱼源码】webservice 源码解析

来源:信用评级网站源码

1.第九章 创建 Web Services - 查看 WSDL
2.深夜写完的源码代码——快速实现.NET(.net framework/.net core+)动态访问webservice服务
3.用C#写简单的Web Service

webservice 源码解析

第九章 创建 Web Services - 查看 WSDL

       第九章内容概要:

       在使用%SOAP.WebService定义 Web 服务时,系统会生成并发布描述该服务的解析 WSDL 文档。每当修改并重新编译 Web 服务时,源码系统会自动更新此 WSDL。解析充值阅读小说源码此文档遵循通用接口标准,源码确保Web服务与客户端之间的解析云抢包 源码互操作性,具体细节和差异可能因服务版本而异。源码

       为方便访问,解析系统将生成的源码 WSDL 文档提供在特定 URL 上。但若 Web 应用程序需要密码身份验证或 SSL 连接,解析则直接通过 URL 访问可能不可行。源码此时,解析建议下载 WSDL 文件,源码休闲圈捕鱼源码并根据需要使用该文件。解析

       值得注意的源码是,生成的美剧站 源码 WSDL 文档不包含运行时添加的 SOAP 标头信息。若要包括这些信息,可先下载 WSDL 文件,然后根据需要进行修改,资讯新闻app源码再使用修改后的文件。

       查看 WSDL 时,可以通过浏览器访问特定 URL。例如,URL 形式为 ponents = null;

        /// <summary>

        /// Required method for Designer support - do not modify

        /// the contents of this method with the code editor.

        /// </summary>

        private void InitializeComponent()

        {

        }

       /// <summary>

        /// Clean up any resources being used.

        /// </summary>

        protected override void Dispose( bool disposing )

        {

        if(disposing && components != null)

        {

        components.Dispose();

        }

        base.Dispose(disposing);

        }

        #endregion

       // 连接字符串常量

        const string szConn = "server=(local)\\taoyi;uid=sa;pwd=;"

        + "initial catalog=mydata;data source=taoyi";

       [WebMethod]

        public String About()

        {

        return "这是一个C#编写的Web Service演示程序!";

        }

        // 返回其中一个WebServiceDemo表

        [WebMethod]

        public DataSet GetServiceDemoTable()

        {

        DataSet sqlDs = new DataSet();

        DataAccess dataAcc = new DataAccess(szConn);

        string szSql = "Select * From WebServiceDemo";

        sqlDs = dataAcc.GetDataset(szSql,"Demo");

       return sqlDs;

        }

        // 返回由用户指定的查询

        [WebMethod]

        public DataSet GetByUser(string szCommandText)

        {

        DataSet sqlDs = new DataSet();

        DataAccess dataAcc = new DataAccess(szConn);

        sqlDs = dataAcc.GetDataset(szCommandText);

       return sqlDs;

        }

        }

       æ˜¯ä¸æ˜¯å¾ˆç®€å•å“¦ï¼Œå°±åªè¿™ä¹ˆç‚¹ï¼Œå‘µå‘µ~,不过也可以说明问题的了。这个类中声明了三个WEB方法,有没有发觉呢?每个方法的前面都加了[WebMethod],表示该方法为WEB方法。呵呵,如果你想要你写的函数可以让WEB应用程序调用的话,这个可不能少的啦~,不然WEB应用程序就无法调用的。

       åˆ°æ­¤ä¸€ä¸ªWEB服务就完成了,点击运行看看,如果没什么错的话,就会出现如下的WEB页面服务描述:

       Service1

       The following operations are supported. For a formal definition, please review the Service Description.

       * GetByUser

       * GetServiceDemoTable

       * About

       .....(下面还有很多)

       å…¶ä¸­ä»£æ˜Ÿå·çš„就是先前在函数前加了[WebMethod]的函数。在出现在页面中你可以单击相应的函数,然后就会跳到调用页面,你可以在相应的文本框中(如果函数有参数的话)输入相应的参数,点而调用按钮,那么就可以看到函数返回的结果了(前提是函数调用无错的话),不过全是XML格式的文本。比如我的GetServiceDemoTable函数调用的结果如下:

       <?xml version="1.0" encoding="utf-8" ?>

       - <DataSet xmlns=":xml-msdata">

       - <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">

       - <xs:complexType>

       - <xs:choice maxOccurs="unbounded">

       - <xs:element name="Demo">

       - <xs:complexType>

       - <xs:sequence>

        <xs:element name="ID" type="xs:int" minOccurs="0" />

        <xs:element name="szUser" type="xs:string" minOccurs="0" />

        <xs:element name="szSex" type="xs:string" minOccurs="0" />

        <xs:element name="szAddr" type="xs:string" minOccurs="0" />

        </xs:sequence>

        </xs:complexType>

        </xs:element>

        </xs:choice>

        </xs:complexType>

        </xs:element>

        </xs:schema>

       - <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

       - <NewDataSet xmlns="">

       - <Demo diffgr:id="Demo1" msdata:rowOrder="0">

        <ID>1</ID>

        <szUser>taoyi</szUser>

        <szSex>男</szSex>

        <szAddr>四川泸州</szAddr>

        </Demo>

       - <Demo diffgr:id="Demo2" msdata:rowOrder="1">

        <ID>2</ID>

        <szUser>xiner</szUser>

        <szSex>女</szSex>

        <szAddr>四川宜宾</szAddr>

        </Demo>

        </NewDataSet>

        </diffgr:diffgram>

        </DataSet>

       åˆ°æ­¤ä¸ºè‡³ï¼ŒWeb Service程序就已经算是完成了。

       ä¸‹é¢è¦åšçš„是写一个WEB应用程序来测试我写的这个Web Service了,看看能不能达到想要的结果。建立Web应用程序的步骤如下:

       ä¸€ã€æ–°å»ºä¸€ä¸ªASP.Net Web Application工程,与创建Web Service的第一步一样,只是工程类型不一样罢了。我这里工程名为WebServiceDemoTest,完整的为pub\wwwroot\WebserviceDemoTest)下生成了所需文件。

        二、在设计视图下打开WebForm1.aspx文件,在里面放置一个panel容器,为了达到测试的目的,我们需要三个服务端按钮和一个服务端文本框,分别调用我们在Web Service中写的三个函数,另外,为了展示调用方法所得达的数据,还需要一个服务端标签控件和一个DataGrid控件。页面的布置就随便你了,想怎么放置就怎么放置,只要能达到演示的目的就行。

        三、引用先前写的Web Service程序,菜单步骤如下project->add web reference...,然后输入我们Web Service的路径,这里是http://localhost/WebServiceDemo/Service1.asmx,点击添加就OK了。这时你将在类视图中看到localhost命名空间了。

        四、编写测试代码。

       ä¸ºäº†ä¾¿äºŽåŽé¢å°‘写些代码,如(xxxx.xxxx.xx xx = new xxxx.xxx.xx()这种),那么首先你得引用localhost命名空间的service1类,以后直接写xxxx xx = new xxxx()就可以了。

        下面是几个按钮的代码:

       // 测试GetServiceDemoTable()

        private void Button2_Click(object sender, System.EventArgs e)

        {

        DataSet ds = new DataSet();

        Service1 oService = new localhost.Service1();

       // 返回记录集

        ds = oService.GetServiceDemoTable();

        if (ds != null)

        {

        // 显示记录集的记录

        DataGrid1.DataSource = ds.Tables["Demo"];

        DataGrid1.DataBind();

        }

        else

        {

        this.Response.Write("加载数据错误!");

        }

        }

        // 测试GetByUser()

        private void Button1_Click(object sender, System.EventArgs e)

        {

        DataSet ds = new DataSet();

        Service1 oService = new localhost.Service1();

        String szCommand = TextBox1.Text;

       ds = oService.GetByUser(szCommand);

        if (ds != null)

        {

        DataGrid1.DataSource = ds;

        DataGrid1.DataBind();

        }

        else

        Response.Write("错误!有可能是SQL命令有问题!");

        }

        // 测试About()

        private void Button3_Click(object sender, System.EventArgs e)

        {

        Service1 oService = new localhost.Service1();

        Label1.Text = oService.About();

        }

       OK,最后就是运行了,如果一切OK,点击第一个按钮得到的将是在一个包函用户执行的SQL命令的表结果。第二个按钮得到的就是上面运行Web Service时的GetServiceDemoTable得到的XML描述,即

        ID szUser szSex szAddr

        1 taoyi 男 四川泸州

        2 xiner 女 四川宜宾

       ç‚¹å‡»ç¬¬ä¸‰ä¸ªæŒ‰é’®ï¼Œåˆ™åœ¨Label1中显示"这是一个C#编写的Web Service演示程序!”的字符串。

文章所属分类:百科频道,点击进入>>