Visual Studio 2010 случайно не может отлаживать службу WCF

Я запускаю Visual Studio 2010 на компьютере с Windows 7 x64, и иногда VS дает мне старый добрый . Удаленная процедура не может быть отлажена. Это обычно указывает на то, что отладка не была включена на сервере ", о котором многие спрашивают.

Моя проблема заключается в том, что, похоже, это происходит только случайным образом (она может быть от нескольких минут до нескольких часов), и после того, как я уже совершил много успешных звонков на службу. Это не мешает работе службы. Он по-прежнему возвращает значения и не вызывает никаких ошибок. Единственное различие заключается в том, что раздражающий диалог появляется каждый раз, когда я начинаю отлаживать свое приложение.

Я должен упомянуть, что я подключаю службу WCF из приложения WPF. Если я запустил веб-сайт, частью которого является служба, я не получаю диалог.

Несколько вещей, которые я пробовал, которые не работают:

  • Убийство и перезапуск сервера.
  • Компиляция веб-сервера в x86
  • Включение трассировки, но не удалось найти любые проблемы.

Это просто ошибка в Visual Studio 2010, или есть что-то, что мне не хватает?

UPDATE

Я заметил, что это происходит, если мое приложение WPF сбой во время инициализации службы WCF. Впоследствии все попытки вызвать службу WCF вызовут сообщение "Невозможно отладить" до тех пор, пока я не перезапущу VS2010.

Ответ 1

Это может быть необязательно, если вы уже развернули службу, но если вы добавите сайт как локальный проект, а не как проект IIS, он будет использовать встроенный отладочный веб-сервер (Cassini), к VS, похоже, с меньшими проблемами связано.

Ответ 2

Итак, у меня есть несколько вопросов о вашей службе WCF, которую вы используете. Вы настроили WCF для запуска в режиме совместимости ASP.NET? Режим совместимости ASP.NET? Возможно, вы подключаетесь к веб-серверу, а не к хостингу WCF. Также вы можете заставить других воспроизвести поведение? Если это так, я отправил бы электронное письмо одному из менеджеров продуктов Visual Studio, чтобы убедиться, что исправление для этого превращает его в SP1.

Ответ 3

Это длинный снимок, но я разрешил подобную проблему, перезапустив regiis -i для ASP.NET:

x64
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
x86
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

После этого убедитесь, что iisreset.

Ответ 4

Не уверен, что это будет работать, но на основе вашего обновления кажется, что процесс не подключен, и поэтому вы не можете его отлаживать.

Вот теория:

  • Когда он запускается нормально, процесс подключается, и все работает нормально.
  • Когда приложение WPF выходит из строя, служба WCF запускается, но не привязана ни к чему.
  • Когда вы перезапускаете приложение WPF, он видит, что приложение WCF запущено, нет необходимости запускать его, поэтому оно не привязывается.

Тогда решение будет пытаться подключить процесс, содержащий приложение WCF, вручную.

Ответ 5

Visual Studio не отлаживает все веб-приложения. Только действительные WebServices.

Если это не так, возможно, ошибка machine.config. Взгляните.

Во всяком случае, если вы атакуете вручную, он должен работать.

Примечание. У меня были некоторые странные проблемы с отладкой, поскольку я использовал бета-версию VS2010. Получив лицензии, он отлично работает.

Ответ 6

Вы упомянули, что:

Служба WCF работает на Сайт ASP.Net. Если я запустил ASP.Net сайта для отладки сайта через Visual Studio я не получаю никаких вопросы

Включили ли вы возможности активации WCF.NET Framework?

Предполагая, что вы находитесь на Windows Server 2008:

  • Открыть диспетчер сервера
  • Откройте функции. Нажмите "Добавить функцию".
  • Развернуть .NET Framework 3.5.1 Возможности
  • Развернуть функции WCF Выберите механизмы активации HTTP и не HTTP.

Без этих функций активации IIS не устанавливает слушателя, который знает, как активировать процессы, на которых размещена ваша служба WCF.

При ручном доступе к веб-сайту вы вручную активируете процессы и, следовательно, должны видеть, что ваши службы WCF становятся доступными. Но вы также отмечаете, что они "случайно" становятся недоступными - возможно, это происходит, когда процесс хостинга завершается из-за отсутствия активности и не запускается автоматически, когда вы попытаетесь отправить сообщение своим службам.

Ответ 7

Посмотрите утилиту, содержащуюся в папке C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE с именем vsdiag_regwcf.exe.

Вот еще одна информация, которая может решить вашу проблему Отладка служб WCF в Visual Studio 2008

Ответ 8

В вашем веб-сервисе, если вы используете статические инициализаторы, это может помочь зарегистрировать, успешно ли они выполнялись или нет. Например (используя log4net регистратор, присвоенный "Log" ):

static Foo() {
   try {
      // ... initialization code here
      Log.Info( ... ); // log success
   }
   catch(Exception ex) {
      Log.Fatal(ex.ToString()); // log failure reason
   }
}

Больше чем однажды это была спасательная жизнь в моей команде.

Ответ 9

Если приложение WPF скомпилировано в 32-битном режиме или запущено с другой (32-разрядной машины), вы установили пул приложений на сайте IIS, на котором размещен сервис WCF, для "Разрешить 32-разрядные приложения" на true?

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

Ответ 10

Хорошо, прежде чем попробовать 1000 вещей, обратите внимание, что вы используете VS.NET 2010 и можете иметь действительную открытую ошибку. Вы можете делать все правильно, и проблема с продуктом. На самом деле у меня есть проблема с Microsoft Connect в отношении случайной сбой среды разработки, когда Blend и .NET являются открытой отладкой whiel. Я отправил им дамп .dmp проблемы, и они смотрят.

Если вы можете воспроизвести сообщение об исключении WCF, вы можете открыть элемент в Microsoft Connect для Visual Studio. Ссылка ниже:

Visual Studio и .NET Framework Microsoft Connect: http://connect.microsoft.com/VisualStudio

Ответ 11

Я решил эту проблему: 1. закрытие приложения визуальной студии приложения веб-службы
2.определение приложения из iis-менеджера
3.решение решения веб-службы в визуальной студии с правами администратора (победа 7)
4. после запроса, хочу ли я создать приложение в iis, я сказал "да" 5.it работал