码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-08-18 11:54:09      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:web service   web服务   

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 -->并赋予其权限为 读 和 写--> 确定

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

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

标签:web service   web服务   

原文地址:http://blog.csdn.net/l1158513573/article/details/47746405

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!