当前位置: 首页 > news >正文

在VS2008中使用WSE 3.0

WSE 是微软推出的一套有关Web Service的增强包,目前最新版本是WSE 3.0,因为后续有WCF技术,所以估计WSE是不会再升级了。

WSE 3.0的安装时可以选择5种类型,如果选择visual studio developer的话,那么它会在vs2005中添加一些菜单支持。

关于WSE ,这里有一个比较好的PPT,可以参考一下

DEV371 Visual Studio 2005 + WSE 3.0 Web Services开发的强大平台

下面这篇文档也很好

http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/ServiceStation0509.mspx?mfr=true

 

但我这篇博客不是讨论这些,而是解决一个问题,就是如何让VS 2008支持WSE 3.0?很多朋友问到这个问题,答案是:VS2008不支持。原因前面就说过了,合久必分,分久必合,以后是WCF一统江湖。

但再大的困难也吓不倒英雄的中国儿女,在我的不懈探索下,找到如下方法可以实现。

请不要总对vs2008里面没有出现那个上下文菜单而耿耿于怀,仔细看看下面这个目录中的一些工具吧

image
WseCertificate3.exe 是对证书进行管理的

WseConfigEditor3.exe 是对有关项目启用WSE支持的,它会改写相关的config文件(例如app.config或者web.config)

WseWsdl3.exe 是产生基于wse 3.0的那个代理类的。

了解上面的三个工具,你就知道应该有门了啊。

还有一个GenerateProxy.bat是我自己写的,里面有如下的代码

wsewsdl3 http://localhost:3375/Wse35/Service.asmx?wsdl /out:C:\Reference.cs /type:webClient

注意,这里的type必须是webClient,具体可以查看一下该工具的帮助

还要注意的是,要把生成的文件中类的继承从

System.Web.Services.Protocols.SoapHttpClientProtocol改成

Microsoft.Web.Services3.WebServicesClientProtocol 然后就可以和在vs2005里面一样地使用了,大致客户端代码如下

Service proxy = new Service();

proxy.SetClientCredential<Microsoft.Web.Services3.Security.Tokens.UsernameToken>(new Microsoft.Web.Services3.Security.Tokens.UsernameToken("chenxizhang", "password"));

proxy.SetPolicy("ClientPolicy");

MessageBox.Show(proxy.HelloWorld());

 

当前,在此之前,你还需要在项目中添加Microsoft.Web.Service3的引用,然后你还需要有证书。这些都是基本的。请参考上面提到的文档。

相关文章:

  • ASP.NET中值类型与列类型不匹配的问题
  • 【PHP】日文全角转半角半角判断
  • 硬盘知识
  • 医药公司网站建设方案
  • 工作需要,了解了下HSRP.
  • 【转】华为Java笔试题
  • 2008年7月51CTO.com十大热点文章排行榜
  • Asp.net中防止用户多次登录的方法
  • WinInet学习笔记(一)WinInet简介
  • java解析芯片
  • Googlebot(谷歌机器人)深入了解
  • 长尾理论
  • 备份和还原Windows Server 2008只读域控制器(4)
  • 老板性格决定公司文化
  • .net知识和学习方法系列(二十一)CLR-枚举
  • [deviceone开发]-do_Webview的基本示例
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【译】理解JavaScript:new 关键字
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Akka系列(七):Actor持久化之Akka persistence
  • Android交互
  • CSS相对定位
  • flask接收请求并推入栈
  • JavaScript 一些 DOM 的知识点
  • Node项目之评分系统(二)- 数据库设计
  • SegmentFault 2015 Top Rank
  • spring boot 整合mybatis 无法输出sql的问题
  • Vue 重置组件到初始状态
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从输入URL到页面加载发生了什么
  • 搭建gitbook 和 访问权限认证
  • 工作中总结前端开发流程--vue项目
  • 将 Measurements 和 Units 应用到物理学
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 想写好前端,先练好内功
  • 学习Vue.js的五个小例子
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 原生JS动态加载JS、CSS文件及代码脚本
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (六)c52学习之旅-独立按键
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • **python多态
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net core 控制台应用程序读取配置文件app.config
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net framework4与其client profile版本的区别
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET连接MongoDB数据库实例教程
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?