Веб-сервис ASP.net и intellisense - PullRequest
       9

Веб-сервис ASP.net и intellisense

1 голос
/ 26 февраля 2009

Хорошо, у меня есть проект веб-сайта ASP.Net. Проект находится на сервере в сети, доступ к которому осуществляется Visual Studio 2008 через файловый ресурс.

В проекте веб-сайта я добавляю веб-ссылку на ранее созданный веб-сервис.
Я могу без проблем использовать этот веб-сервис через приложения winforms.

Но когда я пытаюсь сослаться на Web-сервис в моем коде, значение intellisense не появляется, и имя сервиса получает красную подчеркивание в Visual Studio и говорит s: «Тип или имя пространства имен« IMWebService »не может быть найдено, если вы пропустили ссылка на сборку или директива об использовании? "

Однако, если я знаю точную сигнатуру метода веб-службы, я могу ввести его, сохранить на веб-сервере, и он будет работать нормально. Например:

bool test = Contractor.CheckLogin(email, password);

Как заставить Visual Studio распознавать службу так же, как это делает веб-сайт?

Ответы [ 7 ]

4 голосов
/ 02 марта 2009

Я сталкивался с этой проблемой, изолированной только для классов, созданных через "Веб-ссылки". Одним из решений было очистить папки bin и obj и перезапустить Visual Studio. Это не всегда срабатывало, так что, возможно, это не «решение», но иногда Intellisense выбирали после этого. Я также попытался открыть автоматически сгенерированный код для веб-службы и изменить его, а затем сохранить. Это, казалось, подтолкнуло Intellisense к просмотру этого файла. Ничто другое, что я сделал, казалось, не дало эффекта.

1 голос
/ 09 марта 2009

Как только я столкнулся с той же проблемой, я просто щелкаю правой кнопкой мыши на папке refrence в Project Explorer в Visual Studio, выбирая Refresh, а затем через 2 или 3 минуты, intelisense подходит и работает нормально .. Я думаю требуется некоторое время для загрузки схемы и информации о классе веб-службы или что-то в этом роде.

1 голос
/ 08 марта 2009

Чтобы помочь сузить суть проблемы:

  • Проверено ли в политике доступа к коду использование проектов VS по пути UNC?
  • Получаете ли вы какие-либо предупреждения об открытии ненадежного кода из общего файлового ресурса?
  • Вы получаете такое же поведение, если запускаете весь свой код локально?
1 голос
/ 08 марта 2009

Используйте проект веб-приложения вместо веб-сайта.

Файл -> Создать -> Проект -> C # -> Веб -> Веб-приложение ASP.NET

Это решит вашу проблему, а также другие проблемы.

Проект веб-сайта устарел и не работает.

1 голос
/ 02 марта 2009

Вы можете попробовать вытащить автоматически сгенерированный код для клиента веб-сервиса, который VS создает для вас из временной области, и добавить его в ваш реальный проект

1 голос
/ 27 февраля 2009

Проверьте пространства имен, может быть проблема. Если вы вводите полное имя, ищите маленькое красное поле под ним.

Если это не работает, возможно, вы сломали Intellisense, потому что я использую его каждый день, и он работает.

0 голосов
/ 02 марта 2009

Поместите следующую строку вверху вашего файла кода:

using Contrator;

Если Visual Studio не предоставляет intellisense, но код компилируется, когда вы используете полное имя, тогда вы можете быть достаточно уверены, что добавление пространства имен в операторе using решит проблему.

Если у вас нет пространства имен, указанного в верхней части файла, среда IDE не знает, как определить тип.

...