Экземпляр рабочей роли всегда равен 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 делал то же самое.