今天忽然心血来潮学习了一下c#的webservice,觉得比java的webservice要简单许多。直接使用visual studio 就可以很方便的生成webservice。下面就写下我的开发流程
1.新建一个web项目,这一步就不多说了
2.新建一个POJO类,这里为了方便起见类直接写在了根目录下面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace mywebservice
{
public class StudentInfo
{
private String name;
public String Name
{
get { return name; }
set { name = value; }
}
private String age;
public String Age
{
get { return age; }
set { age = value; }
}
}
}
3.添加一个web服务,名称随意
4.编写webservice业务逻辑,下面的这个webservice我写了2个简单的方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace mywebservice
{
/// <summary>
/// WebService1 的摘要说明
/// </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 WebService1 : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld(int age,string name)
{
return "Hello"+name+"你已经"+age+"岁了";
}
[WebMethod]
public List<StudentInfo> getAllStudent()
{
List<StudentInfo> all = new List<StudentInfo>();
StudentInfo stu = new StudentInfo();
stu.Name = "潘玮柏";
stu.Age = "22";
StudentInfo stu2 = new StudentInfo();
stu2.Name = "蔡依林";
stu2.Age = "21";
all.Add(stu);
all.Add(stu2);
return all;
}
}
}
5.下面来运行一下这个webservice,看到下面的页面就说明服务已经起来了,可以点击任何一个接口进行测试
下面的内容是调用第二个接口所返回的内容
我个人一般不会这么弄,我会通过敲入地址直接访问。一起来试一下,我们会惊喜的看到下面的异常
这个并不是我们的地址写错了,而是我们需要在system.web节点下面加上如下的配置
<webServices>
<protocols>
<add name= "HttpPost"/>
<add name= "HttpGet"/>
</protocols>
</webServices>
这样我们就可以以Http的方式访问这个webservice了,看下效果
这样子webservice就请求成功了。