Web服务;C#中的命名空间
本文关键字:命名空间 服务 Web | 更新日期: 2023-09-27 18:25:38
我有一个名称空间如下的web服务:
namespace MyNS
{
class MyObject
{
//Implementation here
}
}
我发布了Web服务,并尝试从下一个C#网站使用该Web服务。
我将服务名称分配给了"MyWS"。
当我试图写代码
我必须写,
MyWS.MyObject obj = new MyWS.MyObject();
但我想写
MyWS.MyNS.MyObject obj = new MyWS.MyNS.MyObject();
问题是其他命名空间下的MyObject类可能存在此问题。所以,我想通过NameSpaces来识别我的类。
如何在编码中使用命名空间?
我不认为原始名称空间是作为WSDL的一部分公开的,而WSDL是生成过程用来创建客户端端点的。
这意味着没有办法控制您的web服务用作什么命名空间。
但是,您可以控制客户端端点使用的命名空间。添加服务引用时,第一页(标题为"添加服务引用",包含发现控件)的底部是一个标题为"命名空间"的文本框。如果在添加服务时将该字段更改为MyWS.MyNS
,则应允许您引用该字段。
问题是其他命名空间下的MyObject类可能存在此问题。所以,我想通过NameSpaces来识别我的类。
如果您尝试使用冲突的对象名称,编译器将给您一个不明确的引用错误。在这种情况下,你必须使他们合格。
所以,如果你想给它一个特定的别名,只需键入你想要的名字
namespace This.Is.My.Favorite.Namespace
{
public class MyObject()
{
//stuff
}
}
namespace MyNS.MyWS
{
class MyObject
{
//Implementation here
}
}