Visual Studio 2010默认采用的框架为.NET Framework4,在这个框架中已找不到直接创建WebService的模板方式了。但VS2010可以创建WebService是毋庸置疑的,那么怎么在VS2010中创建WebService呢,请看下面为您提供的两种方法,方法已经本人测试,可以放心使用!
方法一:.NET Framework4.0框架下,依然可以创建WebService,步骤如下:
① 选择"ASP.NET空Web应用程序<ASP.NET Empty Web Application>"模板,建立空的网站or项目;
② 添加新项,在"添加新项"窗口中,会找到WebService这个项目模板。
方法二:将VS2010采用的默认框架,改为使用框架.NET Framework2.03.03.5,这时新建"项目"or新建"网站"就可以找到需要的"ASP.NET WebService模板"来建立WebService了。
采用.NET2.03.03.5创建完WebService,如果这时需要使用.NET Framework4.0的新特性,可在项目属性窗口or网站属性窗口的Build选项卡中选择.NET Framework4.0.
下面是默认的代码,可以实现调用接口,打印出“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必须是你下面定义的类名,如果用其它类名则会有错误