2015-01-10 4 views
0

У меня есть приложение WPF, которое я планирую распространять с помощью ClickOnce. Я разработал несколько месяцев, и теперь я готов к запуску. Все отлично работает на компьютере разработчика с Windows 7, .NET Framework 4.51 и VS 2013.Приложение ClickOnce WPF с использованием HttpClient

Но теперь я тестирую на других компьютерах. Запуск приложения по-прежнему прекрасен, но сразу после запуска следующий шаг - синхронизация с веб-сервером и загрузка исходного содержимого. Там он падает немедленно!

для Windows дает мне некоторую информацию проблемы, прежде чем приложение закрыта:

Problem name:    CLR20r3 
    Problem signature 01:  myapplication.exe 
    Problem signature 02:  0.1.0.0 
    Problem signature 03:  54b1359b 
    Problem signature 04:  System 
    Problem signature 05:  4.0.30319.34238 
    Problem signature 06:  53e450ed 
    Problem signature 07:  2f90 
    Problem signature 08:  15d 
    Problem signature 09:  System.Net.Http.HttpRequest 
    OS version:     6.1.7601.2.1.0.256.48 
    Language variant-ID:  1053 
    Further information 1:  0a9e 
    Further information 2:  0a9e372d3b4ad19135b953a78882e789 
    Further information 3:  0a9e 
    Further information 4:  0a9e372d3b4ad19135b953a78882e789 

(левая колонка переводится со шведского мной для удобства чтения)

Я искал намеки, но не нашла ничего, что помогло.

Испытательный компьютер имеет Windows 7 и .Net Framework 4.51. Такая же проблема возникает и в Windows 8.1.

System.Net.Http.HttpRequest существует в Windows \ Microsoft.NET \ Framework \ v4.0.30319, как и ожидалось.

Могу ли я настроить Fiddler для обнаружения трафика, отправленного с .Net-клиента? Пока что никакой трафик не обнаружен ни на одной машине.

Любые советы приветствуются!

Путем проверки конкретного HttpRequestException теперь я нашел это во внутреннем Exception: «Не удается подключиться к удаленному серверу»

я создал лазурь вебсайта стандартный способ и от клиента WPF я называю WebAPI. ClickOnce настроен с помощью «Это приложение полного доверия».

Тот же звонок производится на обоих компьютерах. Компьютеры находятся в одной локальной сети. Имеет ли значение Visual Studio на машине разница?

+0

положить try/catch'es и написать исключения в файл. http://logging.apache.org/log4net/ –

+0

Да, это, конечно, очевидный путь. Но я тоже не считаю журнал очень полезным. При вызове метода HttpClient PostAsync я получаю эту ошибку:. Произошла ошибка при отправке запроса на System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача Task) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача Task) в System.Runtime.CompilerServices.TaskAwaiter'1.GetResult() в SongService.DomainServices.GenericRequestHandler. d__4.MoveNext() Любое предложение по этому вопросу? –

+0

Извините за весь беспорядок. Первоначальная проблема была вызвана неправильной конфигурацией ... :(Предлагаемый ниже предложенный Fiddler defaultProxy фактически вызвал все другие проблемы. Когда config прав, и defaultProxy удален, все снова отлично! –

ответ

0

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

<system.net> 
    <defaultProxy enabled = "true" useDefaultCredentials = "true"> 
     <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" /> 
    </defaultProxy> 
</system.net> 
+0

Я пробовал, но он все еще ничего не обнаруживает Fiddler, даже на машине-разработчике ... –

+0

Если вы установили прокси-ресурс HttpRequest на null, если это так, не устанавливайте его в null. Еще одна вещь, которую вы можете попробовать. Включите трассировку System.Net. это [ссылка] (http://msdn.microsoft.com/en-us/library/ty48b824 (v = vs.110).aspx) о том, как включить трассировку. Файл журнала будет генерироваться в том же каталоге, что и файл. –

Смежные вопросы