1. WebService可单独作为一个网站,不限平台的被调用。

2. 打开VS,选择新建

  

3.

[WebMethod] 方法上面有这个说明,则表示此方法可被外部调用。

我们添加4个方法:加、减、乘、除。

[WebMethod(Description = "求和的方法")]
public double addition(double i, double j)
{
  return i + j;
}

[WebMethod(Description = "求差的方法")]
public double substract(double i, double j)
{
  return i - j;
}

[WebMethod(Description = "求积的方法")]
public double multiplication(double i, double j)
{
  return i * j;
}

[WebMethod(Description = "求商的方法")]
public double division(double i, double j)
{
  if (j != 0)
    return i / j;
  else
    return 0;
}

添加完之后,可以直接运行VS查看。

表示webservice已经完成。

4. 将此网站,部署在IIS上,比如网站为:http://localhost:3001/Service.asmx

打开这个网站即可查看webservice的内容

5. 新建网站,调用webservice内容

在项目上引用web服务。

添加完成之后,在ASPX页面增加几个text框,进行加减乘除的运算。

6.  页面:

<body>
<form id="form1" runat="server">
<div>
  <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
  <select id="selectOper" runat="server">
    <option>+</option>
    <option>-</option>
    <option>*</option>
    <option>/</option>
  </select>
  <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
  <asp:Button ID="cau" Text=" = " runat="server"/>
  <asp:TextBox ID="Result" runat="server"></asp:TextBox>
</div>
</form>
</body>

后台:

public partial class _Default : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    cau.Click += new EventHandler(btn_Click);
  }

void btn_Click(object sender, EventArgs e)
{
  if (Num1.Text != "" && Num2.Text != "")
  {
    double para1 = double.Parse(Num1.Text);
    double para2 = double.Parse(Num2.Text);
    //实例化引用的webservice对象
    localhost.Service WebserviceInstance = new localhost.Service();
    int Oper = selectOper.SelectedIndex;
    switch (Oper)
    {
    case 0:
      Result.Text = WebserviceInstance.addition(para1, para2).ToString();
      break;
    case 1:
      Result.Text = WebserviceInstance.substract(para1, para2).ToString();
      break;
    case 2:
      Result.Text = WebserviceInstance.multiplication(para1, para2).ToString();
      break;
    case 3:
      Result.Text = WebserviceInstance.division(para1, para2).ToString();
      break;
    }
  }
}
}

运行网站即可。

7.调用webservice常用问题。

右键点击引用、添加服务引用,再点击弹出框里的高级,

如果IIS里webservice没有设置匿名访问则会出现401。

A. 如果可以匿名访问:

DocServ.DocService fe = new web2008T2.DocServ.DocService ();

string fi = fe.HelloWork();

  B.如果设置IIS时没有设置匿名,则:

docServ.DocService se = new web2008T2.docServ.DocService();
se.Url = "http://127.0.0.1:8050/DocAppWebService/DocService.asmx";
se.PreAuthenticate = true;
se.Credentials = System.Net.CredentialCache.DefaultCredentials;
se.UseDefaultCredentials = true; Label1.Text = se.GetListNumber("xiaoming", "borrow");

.net WebService的使用的更多相关文章

  1. webService

    什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用.  1:从WebService的工作模式上 ...

  2. 开始webservice了

    一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...

  3. Spring WebService入门

    Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...

  4. 浅谈跨域以及WebService对跨域的支持

    跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在)相同,则允许相互访问.也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源. 在 ...

  5. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  6. Atitit webservice发现机制 WS-Discovery标准的规范attilax总结

    Atitit webservice发现机制 WS-Discovery标准的规范attilax总结 1.1. WS-Discovery标准1 1.2. 一.WS-Discovery1 1.2.1.   ...

  7. java调用CXF WebService接口的两种方式

    通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了. 2.静态调用 // 创建WebService客户端代理工厂 ...

  8. VS2010编写WebService与在IIS的发布<之简单讲解>

    工具VS2010,window环境win7 一:Webservice的创建与方法查看调用 1.新建空web应用程序项目 2.新建web服务 3.自动生成 4.直接跑起来,可以看到有2个方法 5.点击H ...

  9. webService学习之路(三):springMVC集成CXF后调用已知的wsdl接口

    webService学习之路一:讲解了通过传统方式怎么发布及调用webservice webService学习之路二:讲解了SpringMVC和CXF的集成及快速发布webservice 本篇文章将讲 ...

  10. webService学习之路(二):springMVC集成CXF快速发布webService

    继上一篇webService入门之后,http://www.cnblogs.com/xiaochangwei/p/4969448.html ,现在我将我周六在家研究的结果公布出来 本次集成是基于之前已 ...

随机推荐

  1. struts2:使用JQuery、JSON和AJAX处理请求

    目的 在struts2中使用JQuery.JSON.AJAX等技术处理用户请求,并返回结果.返回结果可以是以JSONObject的方式返回,也可以是以JSONArray方式返回结果. 实现 1. 创建 ...

  2. 揭开Redis的神秘面纱

    本篇博文将为你解开Redis的神秘面纱,通过阅读本篇博文你将了解到以下内容: 什么是Redis? 为什么选择 Redis? 什么场景下用Redis? Redis 支持哪些语言? Redis下载 Red ...

  3. spring boot user authorities类图

  4. Socket网络编程--小小网盘程序(5)

    各位好呀!这一小节应该就是这个小小网盘程序的最后一小节了,这一节将实现最后的三个功能,即列出用户在服务器中的文件列表,还有删除用户在服务器中的文件,最后的可以共享文件给好友. 列出用户在服务器中的文件 ...

  5. python prettytable模块

    简介 Python通过PrettyTable模块可以将输出内容如表格方式整齐地输出. 安装 pip install prettytable 1 示例 from prettytable import P ...

  6. 【系统移植】uboot详细分析

    uboot使用 uboot控制台,倒计时    命令: 调试,操作一些硬件 setenv printenv saveenv  nand erase  nand write  tftp zImage h ...

  7. 模板, 保存&发布

    单击“视图”菜单中的“幻灯片模板”按钮,会弹出“幻灯片母版”选项卡,在此选项卡中,可以修改当前PPT的模板, 例如网上下载的幻灯片上的LOGO都可在这里去除. 模板设计总结 1. 背景可以选择纯色,也 ...

  8. (笔记)Linux内核学习(三)之进程调度

    进程调度: 在可运行态进程之间分配有限处理器时间资源的内核子系统. 一 调度策略 1 进程类型 I/O消耗型进程:大部分时间用来提交I/O请求或是等待I/O请求,经常处于可运行状态,但运行时间短,等待 ...

  9. 响应式编程笔记三:一个简单的HTTP服务器

    # 响应式编程笔记三:一个简单的HTTP服务器 本文我们将继续前面的学习,但将更多的注意力放在用例和编写实际能用的代码上面,而非基本的APIs学习. 我们会看到Reactive是一个有用的抽象 - 对 ...

  10. mysql+redis

    微博的系统架构,想用mysql+redis配合使用,具体操作步骤: 写入数据到Redis,,然后在写个运行cron的脚本,美妙读内存,并写入数据库即可. 使用注意: 1.MySQL使用需要注意的地方: ...