惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - 林骄

Android note 2010.08.02 v2 2010.08.03 Android note Android Note 2010.08.02 Android Note 2011.08.01 [Biztalk]问题集 - 林骄 - 博客园 Winform导出Excel Excel单元格颜色 判断系统版本 ListView && XmlReader How to open a folder with explorer - 林骄 Print Can't open Infragistics help document How to get local machine date format.如何获取本机时间格式 cannot open user default database Tips 中文全半角转换 Windows Service 装机备忘 Db2中的时间
WebService
林骄 · 2010-06-09 · via 博客园 - 林骄

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