ASP.NET Web 服务命名空间子域重要吗?

Posted

技术标签:

【中文标题】ASP.NET Web 服务命名空间子域重要吗?【英文标题】:Does an ASP.NET Web Service Namespace subdomain matter? 【发布时间】:2010-10-05 06:50:45 【问题描述】:

意思是有区别的

<WebService(Namespace:="http://theurl.com/")>

<WebService(Namespace:="http://www.theurl.com/")>

?

【问题讨论】:

【参考方案1】:

这表示 Web 服务的 XML 命名空间,与实际地址无关。

所以是的,提到的命名空间是不同的。正如 C# 中的 System.Data 和 System 命名空间是不同的命名空间一样。

在创建服务时选择哪一个重要吗?不,随便挑一个……

在使用服务时选择哪一项重要吗?是的,使用创作者选择的那个。 (在 WSDL 中有描述)

【讨论】:

【参考方案2】:

不知道你是不是在问两件事之一,所以我会提到两者。

1.命名空间是干什么用的?

原因都源于W3C standards。

非常简短的回答:如果您正在做一些简单的 ASP.NET Web 服务,所有都通过 .NET 进行连接,您可能永远不会知道有什么区别。事实上,我看到的很多 Web 服务仍在使用 tempuri.org ;-) 太可惜了。如果您正在执行互操作或发布多个 Web 服务,则适当的命名空间可确保名称相似的服务的唯一性。

2.子域重要吗?

是的,不同的子域,因此,虽然语义上等价,但它们是不同的命名空间。命名空间可以看起来像一个 Url,但事实并非如此。您可以轻松地将“urn:org.tempuri”之类的内容用作有效的命名空间。

【讨论】:

【参考方案3】:

如果您可以在浏览器中输入两者并且它们都可以工作,那么就没有区别。这在很大程度上取决于网站在主机上的设置方式。非“www”URL 的选项只是一个 DNS 条目。

【讨论】:

【参考方案4】:

简短回答:不。

长答案:也许。

如果您打算自己使用 SOAP 协议。 XML 返回的名称空间可能需要在代码中为“www.*”(一种安全“功能”)。

【讨论】:

以上是关于ASP.NET Web 服务命名空间子域重要吗?的主要内容,如果未能解决你的问题,请参考以下文章

添加 ASP.NET 文件夹和 App_Code 命名空间中缺少 VS 2010 App_folder

ASP.NET 访问Web Service 失败

如何为 ASP.net UserControl 指定命名空间?

ASP.NET Web 服务结果、代理类和类型转换

如何将 ASP.NET 网站转换为 ASP.NET Web 应用程序

如何在 asp.net 中将 URL 重写为子域而不实际在服务器上创建子域