Поделиться через


Устранение неполадок, связанных с учебником по началу работы

В этом разделе рассматриваются наиболее распространенные проблемы, которые возникают при работе с учебником «Приступая к работе», и описываются способы их решения.

  1. Не удается найти файлы проекта на жестком диске.

  2. Попытка запуска служебного приложения: HTTP не удалось зарегистрировать URL-адрес http://+:8000/ServiceModelSamples/Service/. Процесс не обладает правами доступа к этому пространству имен.

  3. Попытка использования средства Svcutil.exe: svcutil не является внутренней или внешней командой, работающей программой или пакетным файлом.

  4. Не удается найти файл App.config, созданный средством Svcutil.exe.

  5. Компиляция клиентского приложения: CalculatorClient не содержит определение для <имя_метода>, невозможно найти метод расширения <имя_метода>, принимающий первый аргумент типа CalculatorClient (пропущена директива using или ссылка на сборку?)

  6. Компиляция клиентского приложения: не удалось найти имя типа или пространства имен CalculatorClient (пропущена директива using или ссылка на сборку?)

  7. Необработанное исключение: System.ServiceModel.EndpointNotFoundException. Не удается подключиться к https://localhost:8000/ServiceModelSamples/Service/CalculatorService. Код ошибки TCP 10061: подключение не установлено, т. к. конечный компьютер отверг запрос на подключение.

Не удается найти файлы проекта на жестком диске.

Visual Studio сохраняет файлы проекта в папке c:\users\<имя_пользователя\Документы\Visual Studio 2010\Projects в Windows Vista и Windows°7 и в папке c:\Documents and Settings\<имя_пользователя>\Мои документы\Visual Studio 2010\Projects в более ранних версиях Windows.

Попытка запуска служебного приложения: HTTP не удалось зарегистрировать URL-адрес http://+:8000/ServiceModelSamples/Service/. Процесс не обладает правами доступа к этому пространству имен.

Процесс, в котором размещается служба WCF, должен запускаться с правами администратора. При запуске службы из Visual Studio 2010 необходимо запускать Visual Studio 2010 от имени администратора. Для этого нажмите кнопку Пуск, щелкните правой кнопкой мыши пункт Visual Studio 2010 и выберите Запуск от имени администратора. При запуске службы из командной строки необходимо запустить командную строку от имени администратора указанным выше способом. Нажмите кнопку Пуск, щелкните правой кнопкой мыши пункт Командная строка и выберите пункт Запуск от имени администратора.

Попытка использования средства Svcutil.exe: svcutil не является внутренней или внешней командой, работающей программой или пакетным файлом.

Файл Svcutil.exe должен быть расположен в системной папке. Самым простым решением является использование командной строки. Нажмите кнопку Пуск, выберите пункты Все программы, Visual Studio 2010, Набор средств Visual Studio и Командная строка Visual Studio 2010. Эта командная строка позволяет задать правильные пути к системным папкам для всех средств, поставляемых с Visual Studio 2010.

Не удается найти файл App.config, созданный средством Svcutil.exe.

По умолчанию в диалоговом окне Добавление существующего элемента отображаются только файлы со следующими расширениями: CS, RESX, SETTINGS, XSD, WSDL. Для отображения файлов всех типов выберите пункт Все файлы (*.*) из раскрывающегося списка в правом нижнем углу диалогового окна Добавление существующего элемента.

Компиляция клиентского приложения: CalculatorClient не содержит определение для <имя_метода>, невозможно найти метод расширения <имя_метода>, принимающий первый аргумент типа CalculatorClient (пропущена директива using или ссылка на сборку?)

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

Компиляция клиентского приложения: не удалось найти имя типа или пространства имен CalculatorClient (пропущена директива using или ссылка на сборку?)

Эта ошибка возникает, если в проект клиента не добавлен файл Proxy.cs или Proxy.vb.

Выполнение клиента: необработанное исключение: System.ServiceModel.EndpointNotFoundException. Не удается подключиться к https://localhost:8000/ServiceModelSamples/Service/CalculatorService. Код ошибки TCP 10061: подключение не установлено, т. к. конечный компьютер отверг запрос на подключение.

Эта ошибка возникает в случае запуска клиентского приложения без запуска службы.

Необработанное исключение: System.ServiceModel.Security.SecurityNegotiationException: ошибка согласования безопасности SOAP с https://localhost:8000/ServiceModelSamples/Service/CalculatorService для цели https://localhost:8000/ServiceModelSamples/Service/CalculatorService

Эта ошибка происходит на присоединенном к домену компьютере, который не подключен к сети. Подключите компьютер к сети или отключите безопасность для клиента и для службы. Для службы замените код, создающий WSHttpBinding, на следующий.

// Step 3 of the hosting procedure: Add a service endpoint
selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");

Для клиента замените элемент <security>, входящий в элемент <binding>, на следующий код.

<security mode="Node" />

См. также

Основные понятия

Примеры устранения неполадок WCF
Устранение неполадок, связанных с установкой

Другие ресурсы

Учебник по началу работы