tempuri.org 为什么存在?为什么每个 XML Webservice 都需要自己的命名空间,与 Web 上的任何其他服务不同?
5 回答
不幸的是,该tempuri.org
URL 现在只是重定向到 Bing。
您可以通过以下方式查看它用来渲染的内容archive.org
:
https://web.archive.org/web/20090304024056/http://tempuri.org/
去引用:
每个 XML Web 服务都需要一个唯一的名称空间,以便客户端应用程序将其与 Web 上的其他服务区分开来。默认情况下,ASP.Net Web 服务为此目的使用http://tempuri.org/ 。虽然这适用于正在开发的 XML Web 服务,但发布的服务应该使用唯一的、永久的名称空间。
您的 XML Web Service 应该由您控制的名称空间来标识。例如,您可以使用公司的 Internet 域名作为命名空间的一部分。尽管许多名称空间看起来像 URL,但它们不需要指向 Web 上的实际资源。
对于使用 ASP.NET 创建的 XML Web 服务[原文如此],可以使用 WebService 属性的 Namespace 属性更改默认命名空间。WebService 属性应用于包含 XML Web Service 方法的类。下面是将命名空间设置为“ http://microsoft.com/webservices/ ”的代码示例:
C#
[WebService(Namespace="http://microsoft.com/webservices/")] public class MyWebService { // implementation }
Visual Basic.NET
<WebService(Namespace:="http://microsoft.com/webservices/")> Public Class MyWebService ' implementation End Class
视觉 J#.NET
/**@attribute WebService(Namespace="http://microsoft.com/webservices/")*/ public class MyWebService { // implementation }
还值得阅读“A 1.3 生成 URI”部分:
Web 服务需要唯一的名称空间,因此它们不会混淆彼此的模式和其他任何东西。URL(域、子域、子子域等)是一个聪明的标识符,因为它“保证”是唯一的,并且在大多数情况下你已经有了一个。
可能是为了保证公共网络服务是独一无二的。
它总是让我想起美味的油炸食品……
http://en.wikipedia.org/wiki/Tempuri
tempuri.org 是 Microsoft 开发产品(如 Visual Studio)使用的默认命名空间 URI。
请注意,有效 Web URL 格式的命名空间不一定需要取消引用,即您不需要在该 URL 处提供实际内容。重要的是命名空间是全局唯一的。