一. IIS安装(WIN2003&XP)
WIN2003:
1. 进入“控制面板”。
2. 双击“添加或删除程序”。
3. 单击“添加/删除 Windows 组件”。
4. 在“组件”列表框中,双击“应用程序服务器”。
5. 双击“Internet 信息服务(IIS)”。
6. 从中选择“万维网服务”及“文件传输协议(FTP)服务”。
7. 双击“万维网服务”,从中选择“Active Server Pages” 及“万维网服务”等。
WINXP:
在“组件”列表框中,选择Internet 信息服务(IIS)进行安装即可。
二.相关IIS设置
1.设置默认网站路径
如果操作系统是WIN2003,则还需要在“Web服务扩展”中进行如下设置:
三.WEB SERVICE服务端开发
1.编写服务程序
文件----->新建----->网站------>ASP.Net Web服务,开发语言选择C#,然后点击确定:
点击确定后输入如下代码:
using System;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.OracleClient;
public struct TestData
{
public Boolean A;
public string B,C,D;
}
[WebService(Namespace = "自定义命名空间")] //用于设置命名空间
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
[WebMethod]//一个WebMethod设置一个方法
public TestData GETDATA()
{/*此处填写具体要实现的内容*/
TestData GetData = new TestData();
GetData.A = false;
………………………………………………
Return GetData ;
}
}
现在一个简单的WEB SERVICE已经形成,但是必须注意,如果使用VS2005以后开发的
Web Service默认情况下是不支持远程调试的,因此Web.config文件中的
<system.web>节点下加入如下信息:
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
<add name="HttpSoap"/>
<add name="Documentation"/>
</protocols>
</webServices>
其中的<protocols>节点指定了ASP.NET Web服务可用来接收从客户端发送来的
请求数据和返回响应数据的协议。
这样,一个基本的WEB SERVICE已经形成,接下就是发布Web Service.
2.生成和发布网站
选择“生成”->”发布网站”,选择目录,点击确定:
以我测试的WebService为例,默认网站路径为:C:/Inetpub/wwwroot/,发布的网站
目录为:C:/Inetpub/wwwroot/Test,生成的asmx文件为”Service.asmx”,自己电脑IP为
XX.XXX.XXX.XX,则发布的Web Service引用地址为:
http://XX.XXX.XXX.XX/test/Service.asmx
在Intenet信息服务(IIS)管理器中,右键点击WEB SERVICE所在文件夹,选择
“属性”,进行如下设置:
3.数据库连接与查询
为了实现与ORACLE数据库连接,进行数据库操作,需要增加引用:
//在C#代码中使用ADO.NET的第一步是引用System.Data名称空间,其中含有所有的ADO.NET类。
using System.Data;
//如果使用的是Oracle数据库,内置Oracle .NET驱动程序是最佳选择,.NET Framework就提
//供了这个驱动程序,可以用下面的using指令来引用:
using System.Data.OracleClient;
实现数据库连接与操作例子:
string ConnectionString =
“Data Source=数据库名;Persist Security Info=True;User ID=用户名;Password=密码;Unicode=True";
OracleConnection conn = new OracleConnection(ConnectionString);
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "ORACLE FUNCTION或者PROCEDURE";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("Function或者Procedure传入参数",OracleType.DateTime,50);
cmd.Parameters[“Function或者Procedurel输出参数”].Direction = ParameterDirection.Output;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
DateTime 自定义变量= (DateTime)cmd.Parameters["输出参数"].Value;
四.WEB SERVICE客户端开发
1.建立客户端应用程序
文件->新建->项目->Windows窗体应用程序,点击确定:
2.引用Web服务
选择“视图”->“解决方案资源管理器”,在管理器中右键点击项目名称,选择“添加
服务引用”:
在弹出的“添加服务引用”窗口的地址栏输入Web服务的地址http://XX.XXX.XXX.XX/test/Service.asmx,点击“前往”按钮:
输入命名, 选择“确定按钮”,如果WEB服务有错,会提示相关错误信息.
3.调用Web服务方法
由于使用的是VS2008,因此需要在代码中增加引用的服务,还要在代码中实例化:
(1)在设计窗体代码中引用WEB服务:
using WebServiceClient.Server;//using 客户端应用程序名.引用服务时起的命名空间名
(2)在Button点击事件代码进行实例化,调用WEB服务提供的方法:
ServiceSoapClient ws = new ServiceSoapClient();//服务端服务名+SoapClient
TestData data= ws.GETDATA();
//TestData为服务端设置的自定义存储信息结构
4.生成WebServiceClient
选择“生成”->“生成WebServiceClient”;
如果要发布Client给远程使用,则选择”生成” ->“发布WebServiceClient”;