【问题标题】:What is tempuri.org?tempuri.org 是什么?
【发布时间】:2010-09-15 21:50:31
【问题描述】:

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

【问题讨论】:

    标签: web-services namespaces


    【解决方案1】:

    不幸的是,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, 他们不需要指向网络上的实际资源。

    对于使用 ASP.NET 创建 [原文如此] 的 XML Web 服务,默认命名空间可以 使用 WebService 属性的 Namespace 属性进行更改。这 WebService 属性应用于包含 XML Web 的类 服务方法。下面是将命名空间设置为的代码示例 "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
    

    Visual J#.NET

    /**@attribute WebService(Namespace="http://microsoft.com/webservices/")*/
    public class MyWebService {
        // implementation
    }
    

    还值得阅读“A 1.3 生成 URI”部分:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 每隔一段时间,您可能会遇到这样一种情况,即您将来自 2 个(或更多)来源的数据存储在一个 XML 文档中(例如,从多个化学品制造商处收集有关某知名化学品制造商的信息)物质)并且能够为每个制造商使用命名空间允许您拥有相同的 Xml 元素标记,例如&lt;comp1:SubstanceName&gt;Hand Soap&lt;/comp1:SubstanceName&gt;&lt;comp2:SubstanceName&gt;Palmolive&lt;/comp2:SubstanceName&gt;&lt;comp3:SubstanceName&gt;Soft Soap&lt;/comp3:SubstanceName&gt; 没有冲突,并且清楚数据来自哪里
      • 什么是 tempuri.org?
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

        • 鉴于文章的篇幅,您不妨引用整篇文章。
        • tempuri.org 并不是 Microsoft 独有的,它实际上在 WDSL 的 W3C 注释中有所描述:w3.org/TR/wsdl#_Toc492291092 - "基本 URI "tempuri.org" 可用于构造没有任何内容的 URI与实体的唯一关联”
        • 对于它的价值似乎不再是 tempuri.org 得到 w3.org 的任何认可(至少在那个链接页面上)
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 2011-01-25
          • 2018-07-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-10-09
          • 2011-07-13
          • 1970-01-01
          • 2013-01-12
          相关资源
          最近更新 更多