97

tempuri.org 为什么存在?为什么每个 XML Webservice 都需要自己的命名空间,与 Web 上的任何其他服务不同?

4

5 回答 5

59

不幸的是,该tempuri.orgURL 现在只是重定向到 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”部分:

http://www.w3.org/TR/wsdl#_Toc492291092

于 2008-10-08T00:57:46.367 回答
45

Web 服务需要唯一的名称空间,因此它们不会混淆彼此的模式和其他任何东西。URL(域、子域、子子域等)是一个聪明的标识符,因为它“保证”是唯一的,并且在大多数情况下你已经有了一个。

于 2008-10-08T01:05:26.913 回答
13

可能是为了保证公共网络服务是独一无二的。

它总是让我想起美味的油炸食品……

于 2008-10-08T00:59:21.840 回答
12

http://en.wikipedia.org/wiki/Tempuri

tempuri.org 是 Microsoft 开发产品(如 Visual Studio)使用的默认命名空间 URI。

于 2008-10-08T00:58:49.157 回答
7

请注意,有效 Web URL 格式的命名空间不一定需要取消引用,即您不需要在该 URL 处提供实际内容。重要的是命名空间是全局唯一的。

于 2008-10-08T01:26:18.557 回答