Что может привести к тому, что WPF, использующий WCF, не сможет функционировать при публикации? - PullRequest
0 голосов
/ 28 октября 2010

У меня есть приложение WPF, которое использует WCF для отправки данных на сервер.Прекрасно работает в моей среде разработки, но когда я опубликую его с помощью Click Once, он не будет работать, время отправки истечет.Кикер, если я перехожу к подпапке, которую Click Once устанавливает, она работает нормально.Единственное место, где он терпит неудачу - это когда он появляется из приложения Click Once.Приложение использует три разных сервиса, и два из трех отлично работают с этим связыванием, даже когда они появляются через Click Once.Сбой службы - это функция, которая принимает пакет 30 КБ и возвращает квитанцию.Остальные только в данных.

Вот моя привязка WCF.Вот сообщение об ошибке:

<binding name="netTCPActivity"
             closeTimeout="00:01:00"
             openTimeout="00:00:01"
             receiveTimeout="00:01:00"
             sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
             hostNameComparisonMode="StrongWildcard" listenBacklog="100" maxBufferPoolSize="152428800" maxBufferSize="50000000"
             maxConnections="300" maxReceivedMessageSize="50000000" portSharingEnabled="true">
      <readerQuotas maxDepth="32" maxStringContentLength="81920" maxArrayLength="6638400"
                    maxBytesPerRead="40960" maxNameTableCharCount="563840" />
      <reliableSession ordered="true" inactivityTimeout="00:00:20" enabled="false" />
      <security mode="None" />
    </binding>

Эта операция запроса, отправленная net.tcp: //172.26.17.130: 8015 / TARP не получила ответ в течение настроенного времени ожидания (00: 00: 59.9843744).
Время, отведенное для этой операции, могло быть частью более длительного времени ожидания.Это может быть связано с тем, что служба все еще обрабатывает операцию или службе не удалось отправить ответное сообщение.Пожалуйста, подумайте об увеличении времени ожидания операции (путем преобразования канала / прокси в IContextChannel и установки свойства OperationTimeout) и убедитесь, что служба может подключиться к клиенту.

Ответы [ 2 ]

2 голосов
/ 28 октября 2010

Кажется немного странным, что это может быть проблемой ClickOnce. В любом случае, я бы подошел к отладке так же. Сначала установите Fiddler . Это отличный инструмент для просмотра сетевого трафика. Запустите Fiddler, а затем запустите ваше приложение из exe. Вы должны увидеть весь служебный трафик в Fiddler. Затем запустите ваше приложение с ClickOnce. Сравните рабочие звонки со сломанными, и, надеюсь, у вас что-то всплывет

0 голосов
/ 28 октября 2010

Ваш вопрос немного неясен. это работает, когда вы пропустите панель запуска clickonce? или это никогда не работает вне среды разработки?

Вы пытаетесь запустить приложение ClickOnce со своего компьютера для разработки или с какого-либо компьютера для тестирования? если при использовании тестовой машины, возможно, IP-адрес сервера, к которому вы пытаетесь подключиться, не может быть получен тестирующей машиной, но может быть на машине разработки, можете ли вы проверить это, отправив эхо-запрос с тестовой машины?

...