1

我有一个基本的合同项目:

[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 上。

我的控制台服务有什么问题?或者我可能错过的任何配置设置?

4

0 回答 0