C#开发WebService笔记
来源:互联网 发布:mac utorrent 打不开 编辑:程序博客网 时间:2024/05/16 12:37
一、基本概念
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。
Web Service与web应用程序的区别在于,web service不提供页面显示,其它基本是一样。
下面做一个web service ,实现往表wms_xx_cl 中增加一条记录的功能。
二、开发工具选择
.net平台内建了对Web Service的支持,包括Web Service的构建和使用。与其它开发平台不同,使用.net平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了。.net Framework本身就全面支持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持。所以,使用vs研发webservice是最简单的,本文使用VS.Net 2010。
三、建立数据库
使用sqlserver2000建立一个数据库,建立一个表wms_xx_wl。
简单点,定义三个字段,自增的键值,编号和名称。
四、web service 程序
4.1 打开vs2010,新建一个webservice工程。
4.1 打开vs2010,新建一个webservice工程。
选择,Asp.Net Web 服务应用程序,确定,vs2010自动生成了web service 的程序框架。
4.2 新建一个类dbutil ,操作数据库,代码如下:
using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;using System.Text.RegularExpressions;using System.Collections;using System.Collections.Generic;namespace WlWebService{ public class DbUtil : IDisposable { public static SqlConnection sqlCon; //用于连接数据库 private String ConnectionString = @"Server=server;Database=db;Uid=sa;Pwd=password;"; public DbUtil() { if (sqlCon == null) { sqlCon = new SqlConnection(); sqlCon.ConnectionString = ConnectionString; sqlCon.Open(); } } public void Dispose() { if (sqlCon != null) { sqlCon.Close(); sqlCon = null; } } /// <summary> /// 增加一条物料信息 /// </summary> /// <param name="bh">物料编号</param> /// <param name="mc">物料名称</param> public bool insertwlinfo(string bh, string mc) { try { string sql = "insert into wms_xx_wl (bh,mc) values ('" + bh + "','" + mc + "')"; SqlCommand cmd = new SqlCommand(sql, sqlCon); cmd.ExecuteNonQuery(); cmd.Dispose(); return true; } catch (Exception) { return false; } } }}
4.3 修改Service1.asmx.cs代码如下:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;namespace WlWebService{ /// <summary> /// Service1 的摘要说明 /// </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 Service1 : System.Web.Services.WebService { DbUtil dbutil = new DbUtil(); [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod(Description = "增加一条物料信息")] public bool insertwlinfo(string bh, string mc) { return dbutil.insertwlinfo(bh, mc); } }}
4.4 运行,看看效果:
4.5 点击insertwlinfo:
进行测试,输入信息,如下图:
进行测试,输入信息,如下图:
点击调用。
数据增加成功,可见C#开发webservice十分方便,webservice开发好了,还需要服务器发布和其它程序调用等等问题,下文再描述。
0 0
- C#开发WebService笔记
- webservice(一)---c#开发webservice
- C# .NET webservice开发
- WebService开发笔记
- c#开发webservice应用示例
- C# 开发和调用webservice
- C#开发和调用webservice
- C#开发WebService为例子
- webService开发笔记(一)
- webService开发笔记(二)
- C#学习笔记之调用Webservice
- C#开发XML WebService接口(SOAP)
- VS2008 C# WebService 开发过程(工作总结)
- C#调用java axsi开发的webservice
- VS2008 C# WebService 开发过程(工作总结)
- C#开发之上传图片到WebService
- C#开发之WebService一些体验
- C#调用WebService实例和开发
- 移动云VPC对标分析
- 连接器脚本
- LeetCode 55. Jump Game 解题报告
- Android databinding详解(二)--activity解析
- Why use std::type_index instead of std::type_info*
- C#开发WebService笔记
- OpenSSL---概述
- 【转】阻塞与非阻塞socket的优缺点
- 线程安全的集合
- 根据日期获取星期几的两种方法
- 简洁精美源于分析透彻,构思明确、求精,逻辑练达。(14)
- 给你一个网站,你将如何测试?
- Spring mvc解决url传递中文参数乱码问题
- ps基本知识