【发布时间】:2017-07-06 15:10:40
【问题描述】:
我在 C# 中的 WPF 应用程序中托管 WCF 服务。我想从主机本身调用一些初始化函数,所以我使用的是通道工厂。当主机打开时,我可以从另一个应用程序调用 WCF 服务方法,但是当我在主机中运行以下代码时,Test() 方法会超时。
host = new ServiceHost(typeof(SequencerService), new Uri(address));
host.Open();
var binding = new NetTcpBinding(SecurityMode.None);
EndpointAddress endpoint = new EndpointAddress("net.tcp://10.0.0.118:50111/SequencerService");
ChannelFactory<ISequencerService> myFactory = new ChannelFactory<ISequencerService>(binding, endpoint);
ISequencerService mService = myFactory.CreateChannel();
Console.WriteLine(mService.Test());
我被锁定在最后一行代码。此外,如果我尝试在控制台应用程序中托管此代码,它工作正常。为什么在 WPF windows 应用程序中运行它时会有所不同?
【问题讨论】:
-
在
Test()中包含正在发生的事情可能会有所帮助。 -
现在测试只返回“Hello”字符串