webservice

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

 

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

 

 

一、环境 

    我的开发环境是xpsp3,这个对于asp.net的要求是v2.0.50727

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

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

运行即可。如果自己的已经安装过的就可以跳过,否则在webservic的调试中会报一下错:

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

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

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

 

二、程序

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

   建立和部署webservice 项目:

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

  

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

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

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 打开之后,可以看到

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

至此最简单的 webservice 就建立好了。   我们不需要做任何事情,就用他来测试。

 

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

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

发布也一样,如下截图。

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

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

  在资源管理器中:

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 web

共享 :
C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

iis中查看,我建的文件名为sv:

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

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

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

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

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

然后点击   HelloWorld ”链接  

 

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

然后点击 HelloWorld”链接 ,就可以最终的页面显示的xml内容:

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 这样表示整个

webservice 的建立和部署是成功的。

 

 

 

 

  接下来建立 webservice的调用调试

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

 步骤跟建立webservice项目类似,

  注意选择好类型如图: 

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

其次,最重要的一步就是引用webservice ,

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

 

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

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

  点击前往即可:

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

  然后 把往“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>

两个的截图分别如下:

 

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

  

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

 

然后把此项目“生成”、“发布”到iis上,这个过程跟 webservice 一样,不再多说。

假如已经完成,接下来可以做测试了。

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

可以看到

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

 点击 按钮“button

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

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

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

 

C最简单最完整的webservice实例 - fyinthesky - Dave Rojas

 

 

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

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

转自http://fyinthesky.blog.163.com/blog/static/3555251720110115227337/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值