本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试:

本人对于分布式开发应用的并不多,这次正好有一个项目要应用web service,我的开发环境是vs2008,之所以没有选择现在热门的WCF,本人有如下原因:

1:负责开发Web Service的小组对于vs2008应用不多,更不能奢望令人垂涎的WCF。
     2:项目开发时间有限,根本不许你去拿项目做实验。
     3:项目改动不大,web service足够对付需求。
 
      由于我们的项目是从1.1直接升级到3.5,升级的时候,把web项目直接改成类库,这样无论环境发生多大的变化,只要能够兼容低级版本,所有原来的文件都是能用的,例如,1.1中创建一个网页,会有一个resx的资源文件,但是3.5中创建的网页则是designer.cs,以后如果再升级,只要把相关新文件类型创建好,然后添加到类库中,这样同样可以享用高级版本的功能,说的比较含糊,不知道大家是否明白。

现在要做的就是在这样的类库中引用web service,凭直觉就认为,只要添加一下引用不就行了吗?其实是这样的吗?
    
     先说下在web application项目中如何引用:

第一:对web项目点击右键,如图一。

第二:点击添加web 引用,如下图二.


第三:查找可用的web service,如果是本解决方案内的直接搜索就行,如果是外部的,就输入有效地址然后查询,这里面可以测试web service,如图三:

第四:添加引用成功后就会出现Web References目录.如图四,然后就是调用了。

这应该就是最基本的添加web service引用的方法了。当时我也是按照这样的思路去添加。发现类库中点击右键并没有出现我熟悉的 “添加web 引用”,而出现图五效果:

此时我认为可能是升级的原因变成"添加服务引用",接下来的操作和上面操作相同.点击出现图六;

输入web service地址,测试连接都成功,添加成功后出现图七:

然而调用的时候并不像想像的那么成功,结果可想而之,我添加的WCF服务。这里错误代码我就不好意思帖了。知道引用对象错了后,就是让类库来添加web service,然而点击类库后,右键并没有"添加web 服务"的选项。如何让类库支持添加web service引用成了我最大的难题。此时我咨询了同事,基本排除程序问题,因为通过网站形式可以正常访问web service。

园子里的朋友你们在VS08中的类库会添加web servece引用吗?我baidu了一下午,毫无结果,最好只好再问别的同事,几经周折,有一个太有才的同事说类库可以添加web service引用,我不敢相信,我把方法贴出来show一下;

第一:对目标类库点击右键,如图六:
        第二:点击“添加服务引用”如图八:

关键是图左下角的“高级”按键。点击如图九:

第三:注意了,同样是左下角,“添加WEB引用”的按钮终于出现了,点击如图十:之后的操作就不多说了。

到这里,就最终完成了类库中添加web service引用的目的。操作并不复杂,只是实在是想不明白,VS为什么要把添加web引用放的这么隐蔽呢,难道是为了WCF的推广?

原文:http://www.cnblogs.com/ASPNET2008/archive/2008/09/16/1292028.html

补充:调用方法

添加web引用时候的URL:http://xxxxx/WebInterface?WSDL

WebInterface为接口名称

 WebInterface vw = new WebInterface();
var res = vw.pushData("<data>1</data>", , true); ViewBag.Result = res.resultDesc;

你会在C#的类库中添加web service引用吗?的更多相关文章

  1. VS2010下创建WEBSERVICE,第二天 ----你会在C#的类库中添加web service引用吗?

    本文并不是什么高深的文章,只是VS2008应用中的一小部分,但小部分你不一定会,要不你试试: 本人对于分布式开发应用的并不多,这次正好有一个项目要应用web service,我的开发环境是vs2008 ...

  2. C#:添加web service引用

    VS2012里是这样添加web service引用的:

  3. MVC如何在单独的类库中添加区域

    今天要做一个将区域放到单独的类库中的程序,其实就是多加几个引用的问题,但是我比较喜欢这种设计结构,因为这样的话可以把单独的应用逻辑放在单独的类库中处理,项目看起来更清晰分明,所以写了这个随笔. 首先创 ...

  4. C# 类库中添加注释方法

    C# 类库中添加注释方法 C#中新建的类库添加注释时,应注意以下问题: 1.编译动态类库时命名空间要规范,一般不要和类同名,命名空间一般定义格式:项目名+类文件名: 2.动态类库中,类.方法的注释都采 ...

  5. WebService:asp.net类库中添加WebService引用出现问题解决方法

    ylbtech-WebService:asp.net类库中添加WebService引用出现问题解决方法 1.返回顶部 1. 在Web项目内添加WebService的引用是件很简单的事情,今天在类库中添 ...

  6. VS2010中添加lib库引用

    VS2010中添加lib库引用: 1 菜单  项目---> 属性--->配置属性-->链接器---->输入---附加依赖项,  加入库名,如: my_API.lib; 或是在c ...

  7. Eclipse中添加web dynamic project

    因为我的eclipse版本是kepler service release 2,所以我用了这个链接,http://download.eclipse.org/releases/helios/ 参考链接:  ...

  8. 在Word 2007中添加参考文献及其引用的方法

    以前写文章的时候忽略了在文章中添加参考文献及其引用的方式,文章各式显得不太正式,在网上进行了相关搜索,将方法整理如下: 1.将光标停留在需要插入文献的地方[1],选择菜单栏上的"引用 -&g ...

  9. 在pom包中添加spring-boot-starter-test包引用

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

随机推荐

  1. 安装sql server managerment studio报错"The instance id is required but it is missing"

    问题描述: 今天在安装sql server managerment studio的时候提示报错"The instance id is required but it is missing&q ...

  2. 简单好用的Toast封装类——EasyToast

    我们用toast时不能设置显示的时间,而且不支持在线程中展示toast,下面我对原始的toast进行了封装,这样我们可以很方便的进行toast的使用了. package com.kale.lib.ut ...

  3. WebRTC for UWP

    首先还是简单的介绍下webRTC吧: WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术,是谷歌2 ...

  4. Quartz 2d绘图

    今天看了一下Quartz 2D绘图,我只想说:不要把绘图和动画那些东西当做一个很复杂的东西,其实只要你认真看还是可以理解的.他们并不难.啰嗦了几句,现在直接进入正题: 前提是我们必须新建一个singl ...

  5. Python学习三---序列、列表、元组

    一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...

  6. 真机测试时的错误:No matching provisioning profiles found

    1.出现错误的原因是这样的---- 公司开始做项目,原来做真机测试的时候,用的是公司申请的苹果开发者账号.现在项目结束了,准备上线,但客户要求使用客户自己的苹果开发者是账号上线,于是就用客户的账号测试 ...

  7. iOS中的单例模式

    概念相关 单例模式 在程序运行过程,一个类只有一个实例 使用场合 在整个应用程序中,共享一份资源(这份资源只需要创建初始化1次) static static关键字会在声明变量的时候分配内存,在程序运行 ...

  8. MAC OS Finder 中快速定位指定路径

    在看一些 tip 文章的时候,时不时会有需要进到某某目录替换文件之类的步骤.如果碰上这个目录层次够多,一层一层的点击既麻烦又容易出错,有什么快捷的办法呢? 快捷键:Shift + Command + ...

  9. animation of android (4)

    TimeAnimator: 与objectAminator不同,它反馈的时间间隔.也就是说TimeAnimator不产生实际的动画效果,他反馈的时间间隔和时间值. 而你并不关心 interpolate ...

  10. window下使用vnc远程登录阿里云ECS/ubuntu图形界面

    通常我们都使用putty.secureCRT等软件来远程登录linux系统,但这些软件仅提供字符终端界面,若要像windows的远程桌面连接那样登录linux的图形界面,我们可以使用VNC这类的软件. ...