webservice之简单创建和发布(一个加法运算)

webservice之简单创建和发布(一个加法运算)

开发工具 visual studio 2010

WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键)。微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。

WSDL来实现服务接口相关的描述。此外Web services 可以注册到UDDI中心.供其客户查找使用。后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

这些都是其他扩展的内容了,本文主要讲述如何创建并发布一个webservice。

打开visual studio 新建一个空的asp.net文本应用程序

visual studio 2010 不能直接创建一个webservice应用程序 必须在一个asp.net应用程序中创建相应的服务,直接创建只能创建一个wcf应用程序。

在项目中添加一个web服务

编辑代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace Testwebservice
{
    /// <summary>
    /// mywebservice 的摘要说明
    /// </summary>
    [WebService(Namespace = "172.16.2.11")] //为自己以后webservice发布虚拟目录所在的域名 本例子使用本机Ip地址
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]//启动对脚本的支持
    public class mywebservice : System.Web.Services.WebService
    {
        //系统自动生成的代码
        //[WebMethod]
        //public string HelloWorld()
        //{
        //    return "Hello World";
        //}
        //定义一个简单的求和方法
        [WebMethod(Description = "求和的方法")]
        public string Addition(double i, double j)
        {
            return "这2个数的和为=== "+(i + j).ToString();
        }

        
    }
}

发布这个加法运算的webservice

配置web

发布

打开iis

计算机——管理——服务和应用程序——Internet信息服务管理器

添加一个网站

设置默认目录

添加默认文档

全名(打错了 呜呜··)

现在我们点击管理网站——浏览网站

程序报错.net framework服务版本无法识别,也就是说我们写的版本与我们发布时服务器的版本不一致

更改即可

现在浏览网站 就可以看见我们自己发布的加法服务了

接下来我们如何使用这个求和的服务呢?

新建一个空白的asp。netweb应用程序

然后添加服务引用

新建一个web窗口 编辑代码

页面代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="useadd.aspx.cs" Inherits="usemytest.useadd" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" method="get">
    <div>
     <input type="text" name="n1"/>
     <input type="text" name="n2"/>
     <input type="submit" value="求和"/>
    </div>
    </form>
</body>
</html>

cs文件C#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace usemytest
{
    public partial class useadd : System.Web.UI.Page
    {
        ServiceReference1.mywebserviceSoapClient addsoap = new ServiceReference1.mywebserviceSoapClient();
        //实例化一个SoapClient服务对象
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                int n1 = Convert.ToInt32(Request.QueryString["n1"]);//获取加数的值
                int n2 = Convert.ToInt32(Request.QueryString["n2"]);
                string result=addsoap.Addition(n1, n2);//调用webservice中发布的方法
                Response.Write(result);//输出结果
            }

        }
    }
}

运行结果

在部署的时候如果报错:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\web

解决方法是对发布文件所在文件夹和系统文件夹“c:windows\temp” 目录访问权限 temp--> 属性-->安全-- > 添加everyone -->并赋予其权限为 读 和 写--> 确定

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值