Размещение службы WCF для нескольких потребителей, получая исключение FaultException - PullRequest
1 голос
/ 21 июля 2009

У меня есть один компьютер, выступающий в качестве хоста службы 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]);
    }

Пожалуйста, прокомментируйте, если потребуется дополнительная информация, и я постараюсь ответить на ваши вопросы в меру своих возможностей.

1 Ответ

0 голосов
/ 23 июля 2009

Я решил проблему, я включил потребителей IncludeExceptionDetailInFaults, чтобы они сообщали подробности исключений. Рабочие создавали и читали файлы, часто один и тот же файл (при тестировании это всегда был один и тот же файл), и иногда возникало столкновение, когда два + процесса пытались прочитать один и тот же файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...