惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
L
LINUX DO - 热门话题
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Cisco Talos Blog
Cisco Talos Blog
AI
AI
L
LINUX DO - 最新话题
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The GitHub Blog
The GitHub Blog
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
S
Securelist
博客园_首页
IT之家
IT之家
Schneier on Security
Schneier on Security
博客园 - 叶小钗
罗磊的独立博客
WordPress大学
WordPress大学
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
The Register - Security
The Register - Security
D
DataBreaches.Net
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
Recorded Future
Recorded Future
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tailwind CSS Blog
N
News and Events Feed by Topic
Cyberwarzone
Cyberwarzone
T
Tor Project blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com

博客园 - 技术已荒废

c000021a错误 让你的窗口更迷人 动态链接库学习 Delphi调用WebServices(C#)代码 Delphi归来 c#2.0中新增的两个压缩类(转贴) asp.net常用代码 好久不见了 XML(一) 了解WML 接口学习(一) Flash与JavaScript信息交互 字符串替换 在vs2005中如何将Turboc2.0嵌套在网页中? frameset 使用心得 Delphi调用webservice心得 delphi小技巧 delphi流操作心得 序列化使用心得
使用托管代码进行 XML Web services 编程
技术已荒废 · 2007-05-11 · via 博客园 - 技术已荒废

XML Web services 实现了在异类系统之间以 XML 消息的形式进行数据交换。虽然远程访问数据和应用程序逻辑不是一个新概念,但以松耦合的方式执行该操作却是一个全新的概念。以前的尝试(例如 DCOM、IIOP 和 Java/RMI)要求在客户端和服务器之间进行紧密集成,并使用平台和实现特定的二进制数据格式。虽然这些协议要求特定组件技术或对象调用约定,但 XML Web services 却不需要。在客户端和服务器之间所做的唯一假设就是接收方可以理解收到的消息。换句话说,客户端和服务器同意一个协定(在此所述的情况下,使用 WSDL 和 XSD),然后通过在指定的传输协议(例如 HTTP)之上生成遵守该协定的消息来进行通信。因此,用任何语言编写、使用任何组件模型并在任何操作系统上运行的程序,都可以访问 XML Web services。此外,使用文本格式(如 XML)的灵活性使消息交换随时间的推移以一种松耦合的方式进行进化成为可能。在不可能同时更新消息交换中所有方的环境中,这种松耦合是强制的。

通过使用 ASP.NET 页框架创建 XML Web services,可以使这些 XML Web services 访问 .NET Framework 的许多功能,例如身份验证、缓存和状态管理。由于 ASP.NET 和 .NET Framework 是托管代码中的 XML Web services 的基础,因此开发人员可以着重创建或访问 XML Web services,而无需编写基础结构代码。

在 ASP.NET 应用程序模型中,计划用于浏览器的网页使用 .aspx 扩展名。为了区分 XML Web services 和常规 ASP.NET 页,XML Web services 使用 .asmx 扩展名。

XML Web services 由两部分组成:XML Web services 入口点和实现 XML Web services 功能的代码。在 ASP.NET 中,.asmx 文件是用作 XML Web services 的可寻址入口点的文本文件。它引用预编译的程序集中的代码、代码隐藏文件或包含于 .asmx 文件本身的代码。

Note注意

如果代码直接包含在 .asmx 文件中,则 ASP.NET 将在需要时在服务器上对其进行编译。

在 .asmx 文件顶部的 WebService 处理指令确定在何处查找 XML Web services 的实现。默认情况下,当使用 ASP.NET Web 服务项目模板创建 XML Web services 时,Visual Studio 使用代码隐藏文件,例如 Service1.asmx.vb 或 Service1.asmx.cs。

Note注意

Visual Studio 不支持跨语言编译。例如,将 Visual C# XML Web services 包括在 Visual Basic ASP.NET Web 应用程序项目中是不能实现的,反之亦然。

当生成托管代码中的 XML Web services 时,ASP.NET 自动提供基础结构并处理 XML Web services 请求和响应的处理工作,其中包括分析和创建 SOAP 消息。

 WebService 处理指令

.asmx 页的顶部是 WebService 处理指令,它包括以属性形式表示的有关 XML Web services 实现的信息。该处理指令向 ASP.NET 环境提供必要的信息,例如哪个类实现 XML Web services 功能。