C# webservice 编写、发布、调用
采用的工具VS2010生成工程
1. 生成webservice工程:建 ASP.NET 空WEB 应用程序。
2. 在建好的ASP.NET 空WEB应用程序中新建项“web 服务”。
完成上述内容工程结构如下图
下面主要的操作就是在webservice1.asmx.cs文件中进行,里面写了几个服务,两个简单服务两个查询数据库服务;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;
using MySql.Data;
using MySql;
using MySql.Data.MySqlClient; namespace webservice
{
/// <summary>
/// WebService1 的摘要说明
/// </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 WebService1 : System.Web.Services.WebService
{ [WebMethod]
public string HelloWorld()
{
return "Hello World";
} [WebMethod]
public int GetSum(int a, int b)
{
return a + b;
} [WebMethod]
public DataSet query()
{
DataSet ds = new DataSet();
string connstring = "Database=test;Data Source=localhost;User Id=root;Password=root";
MySqlConnection mycn = new MySqlConnection(connstring);
mycn.Open();
MySqlDataAdapter mda = new MySqlDataAdapter("select * from stock_data", mycn);
mda.Fill(ds,"stock_data");
return ds;
} [WebMethod]
public DataSet goldprice()
{
DataSet ds = new DataSet();
string connstring = "Database=test;Data Source=localhost;User Id=root;Password=root";
MySqlConnection mycn = new MySqlConnection(connstring);
mycn.Open();
MySqlDataAdapter mda = new MySqlDataAdapter("select * from goldprice", mycn);
mda.Fill(ds, "stock_data");
return ds;
} }
}
到目前为至C# 的webservice的服务算是写好了。下面我们需要启动些服务F5
运行成功的界面如下图
二:发布此webservice
1. 与发布asp.net是一样的,首先在IIS的网站节点下添加网站;如下图
2. webservice发布到IIS的虚拟目录;选择webservice工程右击点发布进行发布如下图
3. 修改此网站的高级设置: 把应用程序池修改为ASP.NET v4.0即可。
4. 浏览此网站http://192.168.56.1/WebService1.asmx若运行的效果与在VS2010运行的效果一样则部署成功了。
三:webservice服务调用
1. 新建一个测试工程,在工程的引用节点中右击“添加服务引用”把浏览器中的URL填写到地址框中点前往,并修改命名空间;如下图
2. 然后再重新生成一下测试项目,最后在测试项目中定义一个测试方法并调用webservice中的方法。代码如下
private void button1_Click(object sender, RoutedEventArgs e)
{
YDTF.WebService1SoapClient aa = new YDTF.WebService1SoapClient();
button1.Content = aa.HelloWorld();
Menus m = new Menus();
m.Name = "Name";
m.NameSpace = "NameSpace";
DataSet ds = aa.query();
int i = ds.Tables[0].Rows.Count;
}
3. 单步调试一下若运行结果和预料一样则成功了。
C# webservice 编写、发布、调用的更多相关文章
- WebService-01-使用jdk发布第一个WebService服务并调用
Webservice是SOAP+XML,SOAP是基于Http的,Http底层是Socket,先回顾一下Socket: Server: public class Server { public sta ...
- WIN8+VS2013编写发布WCF、一(编写)、二(部署)、三(调用)
原文://http://www.cnblogs.com/tntboom/p/4348483.html 引言:上学期因为写服务器用WCF,所以连查资料再瞎调试勉强成功了,但是这学期又到了用WCF的时候, ...
- webservice -- cxf客户端调用axis2服务端
背景: 有个项目, 需要由第三方提供用户信息, 实现用户同步操作, 对方给提供webservice接口(axis2实现)并也使用axis2作主客户端调用我方提供的webservice接口 起初, 由于 ...
- spring集成环境下的axis webservice的发布,调试
在spring集成的环境下,无论你是ssh集成,还是ssi集成的情况下,发布webservice往往在调用的时候会出错. 特别是,如果你是这个方式: 将webservice打aar包,放到tomcat ...
- 【Java】Java6 WebService的发布
WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服务的发布方式也有着天壤之别,它们之间没有经验 ...
- delphi7调用java写的webservice,在调用的时候弹出“wssecurityhandler:request does not contain required security header”
delphi7调用java编写的webservice问题我用delphi7调用java写的webservice,在调用的时候弹出“wssecurityhandler:request does not ...
- (转)将wcf 以webservice的方式调用
将wcf 以webservice的方式调用 问题:a公司使用wcf 发布服务(.net Framework 3.0 or 3.5),b公司需要使用a公司发布的服务 ,但b公司目前阶段只使用.net F ...
- Java6 WebService的发布(转)
Java6 WebService的发布 转:http://lavasoft.blog.51cto.com/62575/227988/ WebService服务发布往往比较混乱,Axis2的 ...
- webservice的 发布
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- Java6 WebService的发布
Java6 WebService的发布 WebService服务发布往往比较混乱,Axis2的发布形式与XFire发布方式差别很大,而Java6 Web服务的发布与Axis2.XFire的Web服 ...
随机推荐
- OC-copy
一,堆与栈 1,栈区,stack: 后进先出,由编译器自动分配并释放,一般存放函数的参数值.局部变量 2,堆区,heap:先进先出,由程序员分配和释放 3,全局区,静态区:程序结束后由系统释放, 4, ...
- WebGrid Helper with Check All Checkboxes
WebGrid Helper with Check All Checkboxes myEvernote Link Tuesday, September 13, 2011ASP.NET ASP.NET ...
- yii2-按需加载并管理CSS样式/JS脚本
原文地址:https://segmentfault.com/a/1190000003742452
- Java Runtime.availableProcessors()方法
Java Runtime.availableProcessors()方法用法实例教程. 描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...
- Java RMI 介绍和例子以及Spring对RMI支持的实际应用实例
RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网 ...
- F5负载均衡的初识和基本配置
目前全球范围内应用比较广泛的负载均衡设备为美国的F5.F5于2000年底进驻中国,在国内业界,F5负载均衡产品已经成为了主流负载均衡技术的代名词.下面我们对F5负载均衡设备做一个基本介绍,方便大家去认 ...
- SpringMVC应用
SpringMVC的核心是DispatcherServlet,这个Servlet充当SpringMVC的前端控制器. SpringMVC是多线程的吗??? 控制器是一个用于处理请求的Spring组件. ...
- thinkphp 项目分组 -开发随笔1
php中变量的声明, 和变量的初始化 是结合在一起的, 要声明变量, 就是通过初始化变量来实现的. 感觉页面版式的布局, 还是: 先大致规划出布局, 如两栏 三栏, 一览的左右上下结合, 搭配. 然后 ...
- Ubuntu之Mysql安装及基本设置
No1. Mysql 安装 sudo apt-get install mysql-server mysql-client 记得root密码别忘了. No2. 验证Mysql安装 sudo servic ...
- 网站SEO优化之添加Sitemap文件。
Sitemap.xml 故名思意就是站点地图文件,可以指引Google spider 收录相应网页.正确地使用Google Sitemap,可以确保让Google spider 不遗漏网站内的任何页面 ...