关闭

VS2008 C# WebService 开发过程(工作总结)

标签: webservicec#工作web服务serviceprotocols
913人阅读 评论(1) 收藏 举报
分类:

一. 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”;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:752030次
    • 积分:8904
    • 等级:
    • 排名:第2105名
    • 原创:124篇
    • 转载:169篇
    • 译文:0篇
    • 评论:101条
    最新评论