gpt4 book ai didi

c# - 为什么System.ServiceModel.Dispatcher需要全限定才能编译

转载 作者:行者123 更新时间:2023-12-04 16:59:00 25 4
gpt4 key购买 nike

我正在学习 WCF 并找到了 this article在一个简单的 WCF 示例中。

在下面的代码中(来自上面的文章),为什么System.ServiceModel.Dispatcher.ChannelDispatcher在 foreach 循环中需要完全限定时出现 using System.ServiceModel; ?虽然 ServiceHost不需要完全限定它就可以工作并且它来自与 Dispatcher 相同的命名空间.

如果删除 System.ServiceModel来自 System.ServiceModel.Dispatcher.ChannelDispatcher在循环中,代码无法编译。

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);
}
}
}
}

最佳答案

ServiceHost是 System.ServiceModel 命名空间上的一个类(在 using 语句中); ChannelDispatcher是 System.ServiceModel 上的一个类。 调度员 命名空间。如果您在下面添加此 using 语句,您将能够使用 ChannelDispatcher 而无需完全限定。

using System.ServiceModel.Dispatcher;

关于c# - 为什么System.ServiceModel.Dispatcher需要全限定才能编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11234934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com