`

Net环境开发WebService流程记录

 
阅读更多

右键项目,【添加】——【新建项】,弹出的对话框中,选择“Web服务(ASMX)”,填写新建服务的名称,点击【添加】按钮,如下图:



 
2、 步骤1之后,会在项目中生成代码文件,分别为*.asmx*.cs文件,在*.cs文件内实现Web Service提供的服务。*.asmx文件定义了该Web Service的配置信息,比如开发的语言,提供服务的实现类,比如:

<%@WebServiceLanguage="C#"CodeBehind="AttachmentWS.cs"Class="SmartTMP.AttachmentWS"%>

3、Web Service实现类需要继承System.Web.Services.WebService

4、在服务内,实现所提供的服务功能,比如添加附件服务。

添加方法,以[WebMethod]注解,如下图所示:



 

         对于WebMethod的属性挺多,这里使用了Description属性,描述该方法提供的功能,类似注释。

5、服务编写完毕后,可单独发布于IIS服务器,也可以随着工程部署,这里按照随着工程部署的方式,启动整个工程后,WebService服务就可以使用了。

6、可使用以下地址访问,检验是否发布成功。

http://ip:port/Attachment.asmx或者http://ip:port/Attachment.asmx?wsdl



 

其中,上图列举了该服务可向外部提供的服务方法。下图提供是wsdl文件,包括调用服务需要传递的参数,参数类型,返回值等信息。



 7、服务发布后,在工程中通过【添加服务引用】,即可将该服务添加到工程中了,如下图所示:


 8、添加完成后,可在项目中使用服务提供的功能了。

9、若需要使用SoapHeader验证以确保服务调用的安全性,则可以新建继承SoapHeader的服务类,在服务类里,定义要验证的属性,如下图所示:



 

以上代码表明,在认证服务调用的用户时,需要传递用户的ID,用户名,用户密码。

10、在需要用户验证的服务中,声明步骤9中定义的用户认证实例变量,并在需要认证的方法上,添加注释,表明该方法需要用户认证。如下图:



 11、上图代码中,是在AuthenLoginUser(soapHeader);处对调用服务的用户做认证,认证方式在AuthenLoginUser自定义,使用者可根据验证方式,合理实现该部分功能即可。如下图:



 
12、编写完成后,随着工程发布,通过步骤7的方式添加服务引用后,即可使用。

13、简单的调用方式如下:

//定义WebService服务调用客户端

SmartTMP.AttachmentWS.AttachmentWSSoapClient ws = new SmartTMP.AttachmentWS.AttachmentWSSoapClient();
//
定义用户认证实例

SmartTMP.AttachmentWS.AuthenSoapHeader soapHeader = new SmartTMP.AttachmentWS.AuthenSoapHeader();
//
用户认证,传递认证所需的信息,对应步骤9

soapHeader.CGuid = "xxxxxxx";
soapHeader.UserName = "xxxxxxx";
soapHeader.PassWord = "0000";
//
通过客户端调用webService,需要将用户认证的实例soapHeader 作为参数传递
string strAdd = ws.AddFile(soapHeader, "D:\\a.jpg", "xxxxxx", "xxxxxxx");


以上,只是简单的Web Service服务的定义,调用的过程,随学随用,能力所限,只是技术环节的皮毛,望各位不吝指正,共同学习,谢谢。

 

 

 

 

 

  • 大小: 22.5 KB
  • 大小: 27.9 KB
  • 大小: 76 KB
  • 大小: 35 KB
  • 大小: 27.3 KB
  • 大小: 31.2 KB
  • 大小: 28.8 KB
  • 大小: 43.5 KB
分享到:
评论

相关推荐

    H3BPM 试用系统操作手册

    那么,在本演示环境中使用到的业务服务类型有:Data Table、WebService、Data Sql,详细的业务服务的使用,请参考《H3实施开发手册》。 3 流程模型(流程功能展示) 3.1 主数据 功能展示  主数据的维护和查询。 ...

    Java EE常用框架.xmind

    WebService 介绍 基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用 术语 XML. Extensible Markup Language -扩展性标记语言 WSDL – WebService ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     本书内容主要包括三部分,第一部分介绍java ee开发的基础知识,以及如何搭建开发环境,包括安装jboss、weblogic应用服务器,以及如何使用svn、netbeans等。第二部分详细讲解了jsf ri、jta、jndi、rmi、jms、...

    《ASP.NET与数据库程序设计》

    2-4-1集成的开发环境 2-4-2工程处理 检视各项数据及辅助工具 引用数据 加入控件或文件 专案属性 建立资料存取环境 第三章表单基本设计 3-1 HTML Control 3-1-1在网页动态显示图片 ...

    asp.net知识库

    体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用小记 2.0问题、错误解决办法 ASP.NET 2.0使用Web Part创建应用程序之二...

    综合电子设备管理系统的可维护性设计.doc

    1 注重可维护性的开发过程 综合电子设备管理系统分为五个子系统,包括ado.net驱动封装子系统[1]、webservice 接口子系统、管理配置网站、存储子系统(sql server2008数据库)和监控子系统(数据库网络协议分析与...

    综合电子设备管理系统的可维护性设计(1).doc

    1 注重可维护性的开发过程 综合电子设备管理系统分为五个子系统,包括ado.net驱动封装子系统[1]、webservice 接口子系统、管理配置网站、存储子系统(sql server2008数据库)和监控子系统(数据库网络协议分析与...

    宏天影像采集系统演示 Ver3.16.123(2013-08)

    3、B/S技术架构,URL及WebService等多种接口支持与任意第三方系统的完美整合(支持业务流程整合),支持影像在业务系统中的全流程管理和控制。 4、影像采集支持各类TWAIN协议扫描仪、摄像头,支持本地文件加载,...

    汇讯wiseuc企业即时通讯软件

     汇讯WiseUC有轻量级插件架构、二次开发接口,可以将企业信息系统集成,实现一站式统一办公平台。同时,可以全面满足企业沟通需求:统一通信、企业邮局、远程会议、在线客服等。  3.安全性。  对于关注企业信息...

    短信彩信群发系统平台源码1.0版

    彩翼通WEB短信平台基于C#3.5 + MSSQL2005 R2平台开发,前端采用jQuery1.4.1 + DIV +CSS展示,系统CS源码采用3层架构(数据层+逻辑层+表现层),系统采用存储过程的设计,方便改动及二次开发。 1、【彩翼通短信平台...

    net学习笔记及其他代码应用

    33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * ...

    最新Java面试宝典pdf版

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    Java面试笔试资料大全

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    JAVA面试宝典2010

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    Java面试宝典-经典

    2. 用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。 83 3、HTML 的 form 提交之前如何验证数值文本框的内容全部为数字? 否则的话提示用户并终止提交? 84 4、...

    flex3的cookbook书籍完整版dpf(包含目录)

    3.8 节使用约束条件为文本创建排版流程(Layout Flows) 3.9 节在容器内控制滚动和溢出 3.10 节控制Box 组件的布局 3.11 节使用容器初始化 3.12 节创建TitleWindow 3.13 节通过LinkBar 控制ViewStack 3.14 节将...

Global site tag (gtag.js) - Google Analytics