我注意到WCF命名空间通常是URL,但如果您尝试在浏览器中访问它们,则通常会返回404.
1)这些名称空间是否真的被调用过?
2)如果没有,那么为什么是URL?
3)他们必须是URL还是任何字符串?
我见过的一个例子:
[ServiceContract(
Name="ServcieAContract",
Namespace = "http://www.thatindigogirl.com/samples/2006/06")]
public interface IServiceA
答案 0 :(得分:2)
命名空间只是名称 * 空格 *。它们不是URL。
说过有时可以在URL中访问Schema。
他们可以只是正常的字符串吗?绝对。虽然在这种情况下,您通常会在urn:
前添加前缀。
正如克里斯评论的那样,对于URN规范,请参阅ietf.org/rfc/rfc2141.txt
答案 1 :(得分:2)
对WCF命名空间名称使用URI是一种通常围绕XML命名空间发展的惯例。
命名空间名称可以是任何字符串,但使用URI的动机是更有可能(如果选择合理)全局唯一 - 主机名部分将命名空间与特定组织关联,并且该组织然后应该有一个标准用于在其域中构建唯一的命名空间名称。
在某些情况下,所选择的URI实际上是一个URL:即,可以从该地址获取资源 - 通常是文档,或者模式的副本等。如果命名空间与某些公共接口相关,并且您希望客户能够轻松找到有关其用法的帮助/文档,则可以考虑执行此操作。
答案 2 :(得分:1)
1)不应该调用它们(尽管它们可能用于显示文档),但用于识别和版本化服务和操作。
http://msdn.microsoft.com/en-us/library/ms733832.aspx
2)检查Chris Dickson的回答
3)任何字符串都可以,但人们大多坚持使用带有日期戳的命名空间版本
的标签格式http://www.ibm.com/developerworks/xml/library/x-tipnamsp/index.html