gpt4 book ai didi

.net - 为什么 asmx Web 服务有标记文件?

转载 作者:行者123 更新时间:2023-12-01 08:01:59 25 4
gpt4 key购买 nike

我在 ASP.Net 中看到很多地方使用 asmx 文件实现 Web 服务。标记几乎总是空的(除了基本的 Web 服务标签)并且所有代码都是“代码隐藏”。

这个标记文件是旧的做事方式遗留下来的,还是有其他用途?

最佳答案

实际上,.asmx 文件不是标记文件,而是包含标记的文件。在 .asmx 文件中拥有完整的 Web 服务实现是完全合法的。使用代码隐藏文件是一种很好的做法,但不是强制性的。

尝试在一个 asmx 文件中构建此示例,它可以工作:

<%@ WebService Language="C#" Class="WebService1" %>

using System.Web;
using System.Web.Services;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class WebService1 : WebService
{

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}

即使在这种情况下,您也需要:
  • 将服务类与 .asmx 文件关联的标记
  • .asmx 文件在 Web 应用程序中的位置,用于指定 Web 服务地址

  • 编辑:更具体地说明最后几点:

    每个 Web 服务都需要一个端点,它基本上是一个要由客户端调用的 URI。对于 WCF Web 服务,您通常在 web.config 中配置端点。 ASP.NET 定义端点的方法是将 .asmx 文件放在 Web 应用程序文件夹结构中的某个位置。当通过这个 URI 调用 webservice 时, WebService .asmx 文件中的属性告诉 IIS 哪个类包含实际的 Web 服务实现。

    关于.net - 为什么 asmx Web 服务有标记文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7149345/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com