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. Atitit 开发进度 开发效率提升解决方案

    Atitit 开发进度  开发效率提升解决方案 1.1. 使用4gl语言 dsl语言尽可能 1 1.2. Ssd+高屏幕显示器,提升硬件 1 1.3. 汉字命名规范,可以大力提升可读性与效率 1 1. ...

  2. linux每日命令(27):chmod命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  3. MXNET:权重衰减

    权重衰减是应对过拟合问题的常用方法. \(L_2\)范数正则化 在深度学习中,我们常使用L2范数正则化,也就是在模型原先损失函数基础上添加L2范数惩罚项,从而得到训练所需要最小化的函数. L2范数惩罚 ...

  4. 【webssh】网页上的SSH终端

    [webssh] ——记两天来比较痛苦的历程 广义上来说,webssh泛指一种技术可以在网页上实现一个SSH终端.从而无需Xshell之类的模拟终端工具进行SSH连接,将SSH这一比较低层的操作也从C ...

  5. 爱快路由计费系统easyradius隆重发布,支持V2版本,欢迎大家测试使用

    随着PA.BV接口的发布的临近,我们已经对ROS及爱快V2接口进行大量的升级工作 经用户测试,各方便已满足用户需求. 其实很早以前我们就有支持爱快路由的打算,但是由于各方便原因,通讯接口做好了,但是并 ...

  6. SFTP编辑linux文件 ——mac sublime text2 sftp

    llinux上编辑文件总是个头疼的事儿.mac上没有nodepad++和editplus,他们都有各自支持的sftp插件,editplus比较好 自然就带了,而notepad++需要另行安装. 下面介 ...

  7. fiddler工作原理和代理设置

    1,什么是Fiddler Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的 ...

  8. 十三、K3 WISE 开发插件《SQL语句WHERE查询-范围查询/模糊查询》

    0.存储过程开头变量定义 ), --单据起始日期 ), --单据截止日期. ), ), ), ), ) @FType varchar(50),  --单据类型@FBillNo varchar(50), ...

  9. css3整理--calc()

    calc()语法: elem{ width:calc( 50% -2px ); } 取值说明: calc是计算的缩写,上句含义是:计算elem父元素的50%再减2px,并将结果赋值给elem的widt ...

  10. 使用原生Java代码生成可执行Jar包

    最近想做一个功能,就是把我们编译后的字节码及其资源文件打包成一个可执行的jar包,在装有jre的机器上双击就能运行. 首先是我们需要选择哪些字节码和文件需要打包到文件中,这个我们用JFileChoos ...