У меня есть один компьютер, выступающий в качестве хоста службы WCF. на клиентском компьютере будет запущено несколько клиентских процессов, каждый из которых также будет размещать службы WCF на отдельных портах (5601, 5602 и т. д.). Клиентские процессы будут рукопожатие хоста. Как только рукопожатие получено, хост отправит обратно некоторые данные. Клиентские процессы порождаются один за другим, как указано отдельным методом на хост-машине. Тем не менее, я продолжаю получать следующее исключение после запуска более одного экземпляра:
Серверу не удалось обработать запрос из-за внутренней ошибки. Для получения дополнительной информации об ошибке либо включите IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute, либо из поведения конфигурации) на сервере, чтобы отправить информацию об исключении обратно клиенту, либо включите трассировку в соответствии с документацией Microsoft .NET Framework 3.0 SDK. и проверьте журналы трассировки сервера.
Тем не менее, когда я добавляю задержку между порождениями, проблем не возникает. Что будет причиной этого, и как мне это исправить?
порождает процессы в удаленной системе, которые немедленно пытаются установить связь со службой контроллера в основной системе.
target.InitiateTestProcess(a);
//System.Threading.Thread.Sleep(1000);
target.InitiateTestProcess(b);
А для рукопожатия
public void Handshake(Uri connectBack)
{
IWorkerContract client = ChannelFactory<IWorkerContract>.CreateChannel(
new BasicHttpBinding(),
new EndpointAddress(new Uri(connectBack, "Worker")));
client.PassUUT(clients[connectBack]);
}
Пожалуйста, прокомментируйте, если потребуется дополнительная информация, и я постараюсь ответить на ваши вопросы в меру своих возможностей.