C#最简单最完整的webservice实例

我最近接触crm所以必须研究一下C#中的webservice以备后用,其实就是个新手,哈哈,这个实例是我在参考了网上诸多不完整的例子的情况下,自己摸索完成的。期间遇到过一系列的棘手的问题,经过个人努力终于解决了。我把整个步骤都写完整了,以供以后像我这样的C#新手少走弯路,程序很简单,过程有点长,希望有耐心,对于入门还是有些帮助的。如果博客中没附上源码的【原因可能没法添加源码】,可以留言或邮箱我来发送给大家。

一、环境

我的开发环境是xp的sp3,这个对于asp.NET的要求是v2.0.50727

如果不是的话会报错,可以到本地的

C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\aspnet_regiis.exe -i

名称以无效字符开头。处理资源 ‘http://localhost/ws/Service.asmx‘ 时出错。第 1 行,位置: 2

其次,需要安装IIS,我测试的版本是iis5.1, 本来装了iis6 但是用不了,所以版本也很重用,本人在次耗费了部分心血。如果不清楚版本可以看看 百科里的描述以作决定的参考:

http://baike.baidu.com/view/850.htm

这个过程总共建立2个独立的项目: 一个webservice 项目,一个调用。

1 建立和部署webservice 项目:

用vs2008新建webservicesT  :注意是ASP.NET Web 服务应用程序

之后系统会自动生成一个 类似于helloworld的一个简单例子:

打开之后,可以看到

webservice

接着需要对整个工程 “生成”和发布。

生成 只要右键点击项目选择“生成”即可。

把发布的文件拷到iis工作路径中,并把这个文件夹 “web共享”。

在资源管理器中:

web

:

最后来查看一下是不是部署成功,可以在ie地址栏中输入相关的url:

我涉及的url  http://localhost/sv/Service1.asmx

成功的话可以看到下面的截图

HelloWorld

“HelloWorld”链接 ,就可以最终的页面显示的xml内容:

这样表示整个

的建立和部署是成功的。

2 接下来建立 对webservice的调用调试。

我是建立了一个web应用项目来调用测试的。

步骤跟建立webservice项目类似,

注意选择好类型如图:

项目右键选择“添加web引用”,可以看到下图:

填入之前建立的webservice 对应的url ,此处是 http://localhost/sv/Service1.asmx

点击前往即可:

然后 把往“Web引用名”中填入一个名字,我填的是kiss,这个名字比较重要,因为下面的步骤中要使用他,当然你可以任意,但请记住。

然后 在后台中写入调用的方法 页面也加入触发事件:

后台代码:

using System;

using System.Collections;

using System.Configuration;

using System.Data;

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;

namespace wbcall

{

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{   }

public string GetString()

{    kiss.Service1 n = new kiss.Service1();

string ss = n.HelloWorld();

return ss;

}

}

}

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"Inherits="wbcall._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>无标题页</title>

<script language="JavaScript" type="text/javascript">

function B()

{

var a="<%=GetString() %>";

alert (a);

}

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

kkkk

<br />

<input id="Bnt1" type="Button" value="button" runat ="server" onclick="B()"/>

</div>

</form>

</body>

</html>

两个的截图分别如下:

一样,不再多说。

很简单,在浏览器的地址栏中输入: http://localhost/sc/Default.aspx

点击 按钮“button”

系统会有这么一个提示,提示的内容就是之前在

中的写的,可以看一下两者是一致的,都输出"HelloWorld"。

整个过程就结束了。当然调用的形式有多种,这里我只用了这个最简单的,其余的大家可以一起研究。

这个webservice的建立和调用测试我都是在本机上,如果有必要可以在分布式环境上来测试。

时间: 2024-08-10 17:08:45

C#最简单最完整的webservice实例的相关文章

利用Java编写简单的WebService实例

使用Axis编写WebService比较简单,就我的理解,WebService的实现代码和编写Java代码其实没有什么区别,主要是将哪些Java类发布为WebService.下面是一个从编写测试例子到发布WebService,以及编写测试代码的过程介绍. 本例子的WebService提供了两个方法,分别是sayHello和sayHelloToPerson,第一个只是返回一个"Hello"字符串,没有参数,第二个函数接受一个字符串作为参数,返回"Hello 参数值",

XFire创建WebService实例

XFire创建WebService实例应用 XFire使得在JavaEE应用中发布Web服务变得轻而易举.和其他Web服务引擎相比, XFire的配置非常简单,可以非常容易地和Spring集成. 下载地址:http://xfire.codehaus.org/Download. 一. 使用XFire发布WebService    1. 创建service接口 package com.test.service; import com.test.service.bean.User; public in

高级I/O复用技术:Epoll的使用及一个完整的C实例

高性能的网络服务器需要同时并发处理大量的客户端,而采用以前的那种对每个连接使用一个分开的线程或进程方法效率不高,因为处理大量客户端的时候,资源的使用及进程上下文的切换将会影响服务器的性能.一个可替代的方法是在一个单一的线程中使用非阻塞的I/O(non-blocking I/O).         这篇文章主要介绍linux下的epoll(7)方法,其有着良好的就绪事件通知机制.我们将会使用C来展现一个完整的TCP服务器实现代码.Epoll是被linux2.6开始引进的,但是不被其他的类UNIX系

java webservice实例教程

原文:java webservice实例教程 源代码下载地址:http://www.zuidaima.com/share/1590350954564608.htm 最近在学习web services,网上先关的资料不多,讲的都是很基础,例子也很简单,自己动手敲了敲在这里和大家分享一下,希望能对初学者有所帮助. Web Services服务器端开发 服务器端开发用的是XFire,版本是1.2.6,XFire现在已经成apache下面的一个项目CXF的一部分了,老早就不更新版本了,XFire过不过时

JSP简单练习-包装类综合应用实例

<%@ page contentType="text/html; charset=gb2312" %><!-- JSP指令标签 --> <%@ page import="java.util.*" %> <!-- JSP指令标签 --> <html> <!-- html标记符 --> <body> <% // 以下为java程序片 boolean booleanTemp=true

ZabbixAPI+django+nginx简单的二次开发实例(三)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(二) 步骤三,站点架构部分 本部分用到的软件 1,Nginx:接受访问请求,应答静态页面,转发动态请求至uwsgi 2,uwsgi:应答动态请求 3,Django:处理后台数据 4,supervisor:管理进程 首先安装Nginx yum install epel-release yum install python-devel nginx 修改配置文件 vim /etc/ngnix/ngnix.conf user

ZabbixAPI+django+nginx简单的二次开发实例(五)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(四) 步骤五,图形展示 写一个RRDtool图形展示的脚本,由于要和view.py联动,我放在了appname的文件夹下 cd /API/web/pos/moniter vim rrddraw.py #!/usr/bin/env python #coding=utf-8 import rrdtool #ping的图形 def itemping(data): pngname = str(data['pname']) #图

Fiddler-009-AutoResponder 简单的 MOCK SERVER 应用实例

在我们日常的测试中经常需要测试特定的响应对应的客户端展示样式是否正确无误,实现测试方法一般有如下三种: 创建新的测试数据(工作量较大) 修改已有测试数据(例如修改对应的状态码,若是最终需要测试的按钮状态由 N 个状态共同决定时,修改起来比较繁琐,而且易出错) 创建 mock server(需要开发一个 mock 测试平台,一般测试人员无法完成,对无相关开发经验的测试攻城狮难度较高) 其实,测试抓包工具,已经给我们提供了相应的功能,通过其 [AutoResponder]即可实现简单的修改,尤其是修

简单的JS运动封装实例---侧栏分享到

1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <style> 7 #div1 {width: 100px; height: 200px; background: red;