• C#最简单最完整的webservice实例


    一、环境 

        我的开发环境是xp的sp3,这个对于asp.net的要求是v2.0.50727

    如果不是的话会报错,可以到本地的

    C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -i

    运行即可。如果自己的已经安装过的就可以跳过,否则在webservic的调试中会报一下错:

    名称以无效字符开头。处理资源 'http://localhost/ws/Service.asmx' 时出错。第 1 行,位置: 2

       其次,需要安装IIS,我测试的版本是iis5.1, 本来装了iis6 但是用不了,所以版本也很重用,本人在次耗费了部分心血。如果不清楚版本可以看看百科里的描述以作决定的参考:

    http://baike.baidu.com/view/850.htm

    二、程序

    这个过程总共建立2个独立的项目:一个webservice 项目,一个调用。

       1 建立和部署webservice 项目:

       用vs2008新建webservicesT  :注意是ASP.NET Web 服务应用程序

       C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     之后系统会自动生成一个类似于helloworld的一个简单例子:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

     打开之后,可以看到

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

    至此最简单的webservice就建立好了。我们不需要做任何事情,就用他来测试。

     接着需要对整个工程“生成”和发布。

     生成只要右键点击项目选择“生成”即可。

    发布也一样,如下截图。

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

      把发布的文件拷到iis工作路径中,并把这个文件夹“web共享”。

      在资源管理器中:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

    web

    共享:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas
     

    在iis中查看,我建的文件名为sv:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

     最后来查看一下是不是部署成功,可以在ie地址栏中输入相关的url:

     我涉及的url  http://localhost/sv/Service1.asmx

     成功的话可以看到下面的截图

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

    然后点击“HelloWorld”链接:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

    然后点击“HelloWorld”链接,就可以最终的页面显示的xml内容:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     这样表示整个

    webservice的建立和部署是成功的。

      2 接下来建立对webservice的调用调试。

     我是建立了一个web应用项目来调用测试的。

     步骤跟建立webservice项目类似,

    注意选择好类型如图: 

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

    其次,最重要的一步就是引用webservice ,

     项目右键选择“添加web引用”,可以看到下图:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

     填入之前建立的webservice 对应的url ,此处是 http://localhost/sv/Service1.asmx

      点击前往即可:

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

      

      然后把往“Web引用名”中填入一个名字,我填的是kiss,这个名字比较重要,因为下面的步骤中要使用他,当然你可以任意,但请记住。

      然后在后台中写入调用的方法页面也加入触发事件:

     后台代码:

     using System;
     2 
     3 using System.Collections;
     4 
     5 using System.Configuration;
     6 
     7 using System.Data;
     8 
     9 using System.Linq;
    10 
    11 using System.Web;
    12 
    13 using System.Web.Security;
    14 
    15 using System.Web.UI;
    16 
    17 using System.Web.UI.HtmlControls;
    18 
    19 using System.Web.UI.WebControls;
    20 
    21 using System.Web.UI.WebControls.WebParts;
    22 
    23 using System.Xml.Linq; 
    24 
    25  
    26 
    27 namespace wbcall
    28 
    29 {
    30 
    31     public partial class _Default : System.Web.UI.Page
    32 
    33     {
    34 
    35         protected void Page_Load(object sender, EventArgs e)
    36 
    37         {   }
    38 
    39         public string GetString()
    40 
    41         {    kiss.Service1 n = new kiss.Service1();
    42 
    43              string ss = n.HelloWorld();
    44 
    45              return ss;
    46 
    47         }
    48 
    49     }
    50 
    51 }

    前台代码:

    1  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %>
     2 
     3  
     4 
     5 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     6 
     7  
     8 
     9 <html xmlns="http://www.w3.org/1999/xhtml" >
    10 
    11 <head runat="server">
    12 
    13     <title>无标题页</title>
    14 
    15     <script language="javascript" type="text/javascript">
    16 
    17 function B()
    18 
    19 {
    20 
    21 var a="<%=GetString() %>";
    22 
    23 alert (a);
    24 
    25 }
    26 
    27 </script>
    28 
    29 </head>
    30 
    31 <body>
    32 
    33     <form id="form1" runat="server">
    34 
    35     <div>
    36 
    37          kkkk
    38 
    39          <br />
    40 
    41          <input id="Bnt1" type="Button" value="button" runat ="server" onclick="B()" />
    42 
    43     </div>
    44 
    45     </form>
    46 
    47 </body>
    48 
    49 </html>


    两个的截图分别如下:

     C最简单最完整的webservice实例 - fyinthesky - Dave RojasC最简单最完整的webservice实例 - fyinthesky - Dave Rojas

    然后把此项目“生成”、“发布”到iis上,这个过程跟 webservice 一样,不再多说。

    假如已经完成,接下来可以做测试了。

    很简单,在浏览器的地址栏中输入: http://localhost/sc/Default.aspx

    可以看到

    C最简单最完整的webservice实例 - fyinthesky - Dave Rojas 

     点击按钮“button”

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

     系统会有这么一个提示,提示的内容就是之前在

    webservice中的写的,可以看一下两者是一致的,都输出"HelloWorld"。

     C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

     

     整个过程就结束了。当然调用的形式有多种,这里我只用了这个最简单的,其余的大家可以一起研究。

     这个webservice的建立和调用测试我都是在本机上,如果有必要可以在分布式环境上来测试。 


    复制代码
     1  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="wbcall._Default" %>
     2 
  • 相关阅读:
    【转】WCF入门教程六[一个简单的Demo]
    【转】WCF入门教程五[WCF的通信模式]
    【转】WCF入门教程四[WCF的配置文件]
    【转】WCF入门教程三[WCF的宿主]
    【转】WCF入门教程二[WCF应用的通信过程]
    【转】WCF入门教程一[什么是WCF]
    【转】浅谈.net remoting 与webservice
    【转】Microsoft .Net Remoting之Remoting事件处理全接触
    egret升级经验记录
    cmder小技巧
  • 原文地址:https://www.cnblogs.com/asdyzh/p/9818452.html
Copyright © 2020-2023  润新知