樱丶玉溪

导航

vs2010下创建webservice ----第一天(建立项目,以及不连数据库进行加减乘除)

Visual Studio 2010默认采用的框架为.NET Framework4,在这个框架中已找不到直接创建WebService的模板方式了。但VS2010可以创建WebService是毋庸置疑的,那么怎么在VS2010中创建WebService呢,请看下面为您提供的两种方法,方法已经本人测试,可以放心使用!

 

    方法一:.NET Framework4.0框架下,依然可以创建WebService,步骤如下:

        ① 选择"ASP.NET空Web应用程序<ASP.NET Empty Web Application>"模板,建立空的网站or项目; 

         vs2010下创建webservice - 醉生梦死 - 醉生梦死

                       vs2010下创建webservice - 醉生梦死 - 醉生梦死

 

        ② 添加新项,在"添加新项"窗口中,会找到WebService这个项目模板。

        vs2010下创建webservice - 醉生梦死 - 醉生梦死

 

        vs2010下创建webservice - 醉生梦死 - 醉生梦死

 

   

   方法二:将VS2010采用的默认框架,改为使用框架.NET Framework2.0\3.0\3.5,这时新建"项目"or新建"网站"就可以找到需要的"ASP.NET WebService模板"来建立WebService了。

       vs2010下创建webservice - 醉生梦死 - 醉生梦死

 

     采用.NET2.0\3.0\3.5创建完WebService,如果这时需要使用.NET Framework4.0的新特性,可在项目属性窗口or网站属性窗口的Build选项卡中选择.NET Framework4.0.

       vs2010下创建webservice - 醉生梦死 - 醉生梦死

 

下面是默认的代码,可以实现调用接口,打印出“Hello World”,下面还有浏览器打开的界面

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

namespace WebServiceTwo
{
/// <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 WebServiceTwo
{
/// <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";
}
[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必须是你下面定义的类名,如果用其它类名则会有错误

posted on 2014-11-04 23:23  五粮液和  阅读(432)  评论(0编辑  收藏  举报