开发WebService 我还是采用.net 框架,java 版本的的webservice 后续送上!
Web Services 例程
1. 直接使用
Visual Studio
新建项目向导
Web->ASP.net Web
服务应用程序
.
自定义服务名称。并添加数据库
Northwind.mdb
到项目中如下图,
直接打开 Service.asmx 文件
添加如下测试方法
[WebMethod]
public string HelloWorld(String Name) {
return Name;
}
[WebMethod]
public int Add(int a, int b)
{
int sum;
sum = a + b;
return sum;
}
[WebMethod]
public DataSet GetDataSet(String SQLStr)
{
DataSet ReturnDs = new DataSet();
String ConnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:/My Documents/Visual Studio 2008/WebSites/WebService/App_Data/Northwind.mdb;";
//这里注意WebService 部署的时候数据库路径最好是 使用 Server.MapPath() 取一下。我这里就绝对路径上了!
using (OleDbDataAdapter OleAp = new OleDbDataAdapter(SQLStr, ConnStr))
{
OleAp.Fill(ReturnDs);
return ReturnDs;
}
}
F5 执行一下 出现如下图,正常。
OK ! Web Service 搞好,来写调用实例
一直保持 WebService 的运行状态,通知区域的小型IIS 一直运行。
先使用 wsdl.exe 生成类
,
工具位于
C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin
视自己
.net
框架安装目录而定到
CMD
下面输入
wsdl.exe /language:CS /n:WebServiceAgentClass
http://localhost:2387/WebService/Service.asmx?wsdl
上面 Http:// 哪里就是
webservice debug
时候的路径加上了
?wsdl (端口
有可能会改变)
此时产生了一个cs 文件Service.cs OK! 我们的代理类已经搞定,去Visual Studio 里面创建项目WebServerClassLibrary 以及WebServerClient
1. WebServerClassLibrary 项目(类库)
a) 添加刚才生成Service.cs 并编译,有可能名称空间不一致更改后编译成功!日后我们直接调用这个类库的方法就可以调用WebService 的方法啦!
2. WebServerClient 调用实例
a) 引用WebServerClassLibrary 项目
界面为
代码如下
public WebsClient()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
WebServerClassLibrary.Service S1 = new Service();
this.dataGridView1.DataSource = S1.GetDataSet("Select * From Customers").Tables[0];
}
点击 button1 后
出现
数据获取成功
速度上来说,感觉Remoting 比 WebService 快一点
OK ! Remoting 实例做出来了,WebService 实例做出来!很简单是不是,微软就是这种把东西做的很好入手,但是深入的话还需要很多时间,其中remoting 其中包含很多对象属性方法。有什么用,还是很复杂呢~ .net WebService 也是,代码量来说WebService 胜出!
Web Services
1.
直接打开
[WebMethod]
public string HelloWorld(String Name) {
return Name;
}
[WebMethod]
public int Add(int a, int b)
{
int sum;
sum = a + b;
return sum;
}
[WebMethod]
public DataSet GetDataSet(String SQLStr)
{
DataSet ReturnDs = new DataSet();
String ConnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= D:/My Documents/Visual Studio 2008/WebSites/WebService/App_Data/Northwind.mdb;";
//这里注意WebService 部署的时候数据库路径最好是 使用 Server.MapPath() 取一下。我这里就绝对路径上了!
using (OleDbDataAdapter OleAp = new OleDbDataAdapter(SQLStr, ConnStr))
{
OleAp.Fill(ReturnDs);
return ReturnDs;
}
}
F5 执行一下 出现如下图,正常。
OK ! Web Service
一直保持 WebService 的运行状态,通知区域的小型IIS 一直运行。
先使用 wsdl.exe
wsdl.exe /language:CS /n:WebServiceAgentClass
上面 Http://
此时产生了一个cs 文件Service.cs OK! 我们的代理类已经搞定,去Visual Studio 里面创建项目WebServerClassLibrary 以及WebServerClient
1. WebServerClassLibrary 项目(类库)
a) 添加刚才生成Service.cs 并编译,有可能名称空间不一致更改后编译成功!日后我们直接调用这个类库的方法就可以调用WebService 的方法啦!
2. WebServerClient 调用实例
a) 引用WebServerClassLibrary 项目
界面为
代码如下
public WebsClient()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
WebServerClassLibrary.Service S1 = new Service();
this.dataGridView1.DataSource = S1.GetDataSet("Select * From Customers").Tables[0];
}
点击 button1 后
出现
数据获取成功
速度上来说,感觉Remoting 比 WebService 快一点
OK ! Remoting 实例做出来了,WebService 实例做出来!很简单是不是,微软就是这种把东西做的很好入手,但是深入的话还需要很多时间,其中remoting 其中包含很多对象属性方法。有什么用,还是很复杂呢~ .net WebService 也是,代码量来说WebService 胜出!