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

推荐订阅源

AI
AI
TaoSecurity Blog
TaoSecurity Blog
H
Heimdal Security Blog
Help Net Security
Help Net Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
The Cloudflare Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
N
News | PayPal Newsroom
V2EX - 技术
V2EX - 技术
博客园 - 【当耐特】
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Secure Thoughts
C
CERT Recently Published Vulnerability Notes
罗磊的独立博客
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
有赞技术团队
有赞技术团队
S
Schneier on Security
S
SegmentFault 最新的问题
Google Online Security Blog
Google Online Security Blog
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
IT之家
IT之家
Project Zero
Project Zero
博客园 - 司徒正美
P
Privacy International News Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Jina AI
Jina AI
Security Latest
Security Latest
Hacker News - Newest:
Hacker News - Newest: "LLM"
腾讯CDC
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
W
WeLiveSecurity
NISL@THU
NISL@THU
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
L
Lohrmann on Cybersecurity

博客园 - 技术已荒废

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 功能。