【发布时间】:2012-06-29 09:36:11
【问题描述】:
我正在学习 WCF,并在一个简单的 WCF 示例中找到了 this article。
在下面的代码中(来自上面的文章),为什么foreach循环中的System.ServiceModel.Dispatcher.ChannelDispatcher在有using System.ServiceModel;的情况下需要完全限定?虽然ServiceHost 不需要完全限定它才能工作,并且它来自与Dispatcher 相同的命名空间。
如果您在循环中从System.ServiceModel.Dispatcher.ChannelDispatcher 中删除System.ServiceModel,则代码不会编译。
using System;
using System.ServiceModel;
namespace ConsoleHost
{
class Program
{
static void Main(string[] args)
{
Type serviceType = typeof(EmailService.EmailValidator);
Uri serviceUri = new Uri("http://localhost:8080/");
ServiceHost host = new ServiceHost(serviceType, serviceUri);
host.Open();
foreach (System.ServiceModel.Dispatcher.ChannelDispatcher dispatcher in host.ChannelDispatchers)
{
Console.WriteLine("\t{0}, {1}", dispatcher.Listener.Uri.ToString(), dispatcher.BindingName);
}
}
}
}
【问题讨论】:
标签: c# wcf .net-4.0 namespaces