zoukankan      html  css  js  c++  java
  • C#之VS2010开发Web Service

    一:创建web service

    vs2010软件默认的framework是4.0版本,所以想创建web服务的时候压根看不到web服务应用程序。网上有人说vs2010的web service
    跟wcf合并了,变成了wcf web service。我创建了一个wcf web serivce项目看了一下发现,这个项目主要还是wcf的,但是不想要
    它而只想要web service怎么办呢?可以在创建新项目的时候把framework的版本设置成2.0,3.0或者3.5。

    如图创建,单击确定

    下面是默认的代码,可以实现调用接口,打印出“Hello World”,下面还有浏览器打开的界面
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    
    namespace WebService1
    {
        /// <summary>
        /// Service1 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
        // [System.Web.Script.Services.ScriptService]
        public class Service1 : System.Web.Services.WebService
        {
    
            [WebMethod]
            public string HelloWorld()
            {
                return "Hello World";
            }
        }

    单击”HelloWorld"调用接口,转到下面的界面:

    再点击“调用”按钮,就可以看到用XML格式返回的Web Service结果下图。说明我们的Web Service环境没有问题,而且还初步接触了一下最简单的Web Service。

    二:自己写一个WebService,计算加减乘除

    在代码文件里,如果我们写了一个函数后,希望此函数成为外部可调用的接口函数,我们必须在函数上面添上一行代码[WebMethod(Description="函数的描述信息")],如果你的函数没有这个申明,它将不能被用户引用.下来我们开始编写一个简单的Web Service 的例子。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    
    namespace WebService1
    {
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class Service : System.Web.Services.WebService
        {
            public Service()
            {
                //如果使用设计的组件,请取消注释以下行 
                //InitializeComponent(); 
            }
            //[WebMethod]
            //public string HelloWorld() {
            //    return "Hello World";
            //}            
            [WebMethod(Description = "求和的方法")]
            public double addition(double i, double j)
            {
                return i + j;
            }
            [WebMethod(Description = "求差的方法")]
            public double subtract(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;
            }
        }
    }
    运行的截图:

    同样点击addition方法,进入addition方法的调用页。

    在参数上面输入参数i=6,j=5,如上图,点击调用,就可以看到用XML格式返回的Web Service结果(i与j相加的结果)下图

    到这里,我们会发现,其实webservice并不是那么的神秘,它也不过只是个接口,对我们而言,侧重点就是是接口函数的编写.

    三:其中的报错

    错误原因及解决

    错误原因,默认WebServise的类的类名是Service1,下面实例化时需要实例化这个类,如果不是就会报错
    请注意<%@ WebService Language="C#" CodeBehind="~/App_Code/Service.cs" Class="Service" % >
    里的Class="Service1",则Service1必须是你下面定义的类名,如果用其它类名则会有错误

  • 相关阅读:
    软件工程实践总结作业——个人作业
    第四次作业——个人作业——软件案例分析
    第三次作业——结对编程
    第二次作业——结对项目之需求分析与原型模型设计
    使用Git进行代码管理心得
    调研Android Studio开发环境的发展演变(附安装教程,多图)
    软件工程的实践项目的自我目标
    软件工程实践总结
    教师报课系统测试
    第四次个人作业--关于 微软必应词典客户端 的案例分析
  • 原文地址:https://www.cnblogs.com/hongmaju/p/4023798.html
Copyright © 2011-2022 走看看