我有一个基本的合同项目:
[ServiceContract]
public interface IEchoService
{
[OperationContract]
string GetUpper(string text);
[OperationContract]
string GetLower(string text);
}
服务项目:
public class EchoService : IEchoService
{
public string GetUpper(string text)
{
return text.ToUpper();
}
public string GetLower(string text)
{
return text.ToLower();
}
}
自托管项目:
class Program
{
static void Main(string[] args)
{
var container = new WindsorContainer();
container.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero);
container
.Register(
AllTypes
.FromThisAssembly()
.InSameNamespaceAs<IEchoService>()
.WithServiceDefaultInterfaces()
.Configure(c =>
c.Named(c.Implementation.Name)
.AsWcfService(
new DefaultServiceModel()
.AddEndpoints(WcfEndpoint
.BoundTo(new NetTcpBinding(SecurityMode.None))
.At(string.Format(
"net.tcp://localhost:10333/MyServices/{0}",
c.Implementation.Name)
)))));
Console.WriteLine("hosting...");
while (Console.ReadKey().Key != ConsoleKey.Q)
{
}
}
当我尝试从客户端连接到我的服务时,我收到此错误消息:
无法连接到 net.tcp://localhost:10333/MyServices/EchoService。连接尝试持续了 00:00:02.0904037 的时间跨度。TCP 错误代码 10061:无法建立连接,因为目标机器主动拒绝了它 127.0.0.1:10333。
所以我检查了 netstat,发现我的控制台服务虽然能够运行,但甚至没有监听端口 10333。我没有使用该端口的其他程序,我什至更改了其他一些端口号,但它只是没有出现在 netstat 上。
我的控制台服务有什么问题?或者我可能错过的任何配置设置?