Экземпляр рабочей роли всегда равен Count=1

Я использую 2 рабочие роли, у каждой есть 2 экземпляра. Когда я подключаюсь через WCF от WR1 к WR2, количество экземпляров WR2 равно 1, почему? Вот код:

WR1:

private IFinalPrint proxy;
    public string Printing(string text,int id)
    {
        Trace.WriteLine($"Brother instance sent: {text}");
        int i = 0;
        id -= 1;

        foreach(var role in RoleEnvironment.Roles[RoleEnvironment.CurrentRoleInstance.Role.Name].Instances)
        {
            if(i == id)
            {
                NetTcpBinding binding = new NetTcpBinding();
                string address = $"net.tcp://localhost:10101/interReq";
                ChannelFactory<IFinalPrint> factory = new ChannelFactory<IFinalPrint>(binding, new EndpointAddress(address));
                proxy = factory.CreateChannel();

                Task<string> job = new Task<string>(() =>
                {
                    return proxy.Print(text, i);
                }
                );

                job.Start();
            }
            ++i;
        }

        Task.WaitAll();

        return "succ";
    }

WR2:

public string Print(string text, int id)
    {
        int i = 0;
        id -= 1;
        foreach(var role in RoleEnvironment.Roles["Worker2"].Instances)
        {
            if(id == i)
            {
                Trace.WriteLine($"Worker role 1 sent: {text}");
            }
            i++;
        }


        return "succ";
    }

По сути, я хочу перенести некоторый текст из WR1 в WR2, и если, например, экземпляр 1 на WR1 записал этот текст в Trace, я хочу, чтобы тот же экземпляр (1) на WR2 делал то же самое.

0 ответов

Другие вопросы по тегам