powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
4 сообщений из 4, страница 1 из 1
Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
    #37390040
justas_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток всем! Прошу помощи, ибо столкнулся с мистическим поведением VS2010. Суть такая. Есть solution, состоящий из нескольких проектов.
- CL1 (class library);
- WS1 (Windows service, который юзает классы из CL1 );
- WPF1 (простенькая WPF application, которая юзает классы из WS1 и CL1);

Главный класс из CL1 (допустим, с именем MainClass ) запускает пару тредов (для работы с DB) плюс открывает хост для простенького сервиса WCF (который просто возвращает рандомное число). Все компилируется и работает замечательно.

Теперь мне понадобилось нечто более сложное - добавить еще один WCF, с которым будет общаться одна веб-аппликация. Требуется, чтобы общение проходило в формате JSON. Я попытался немного изменить интерфейс (подобно тому, как было сделано в предыдущей версии проекта):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    public interface IServiceTest
    {
        /// <summary>
        /// Test operation: a simple add.
        /// </summary>
        /// <param name="param1">The param1.</param>
        /// <returns></returns>
        [OperationContract(Name = "AddInts")]
        [WebGet(ResponseFormat = WebMessageFormat.Json)] // строка, вызывающая ошибку
        int DoAdd(int param1 );
    }
Добавлено мной строка с WebGet . Напоминаю, это все в проекте CL1.

После чего начались чудеса: CL1 по-прежнему компилируется нормально, а вот WS1 и WPF1 перестают компилироваться с ошибкой: The type or namespace name 'MainClass' could not be found (are you missing a using directive or an assembly reference?) .

Если закомментить строку с WebGet - снова все компилируется нормально. Может, я идиот, но не вижу разумного объяснения. Почему проблемы с MainClass? Почему они продолжаются, даже если убрать в MainClass все ссылки на сервис WCF? Может, кто подскажет, в какую сторону копать?
...
Рейтинг: 0 / 0
Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
    #37390052
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
justas_f,

ну смотри, твой какой то mainclass который ты не засветил в контексте вопроса, не компилится, потому что есть ошибка с webget.
то есть это следствие.
атрибут webget лежит по адресу:
Пространство имен: System.ServiceModel.Web
Сборка: System.ServiceModel.Web (в System.ServiceModel.Web.dll)
посмотри, все ли импортнуто и подключено.
...
Рейтинг: 0 / 0
Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
    #37390778
justas_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiKjustas_f,

ну смотри, твой какой то mainclass который ты не засветил в контексте вопроса, не компилится, потому что есть ошибка с webget.
то есть это следствие. Я понимаю, что следствие. Но почему это следствие проявляется не при компиляции CL1 (который билдится самым чудесным образом), а в последующих ассемблях?.. Не вижу логики в поведении компилятора

атрибут webget лежит по адресу:
Пространство имен: System.ServiceModel.Web
Сборка: System.ServiceModel.Web (в System.ServiceModel.Web.dll)
посмотри, все ли импортнуто и подключено. Если бы были проблемы с этой библиотекой, то я бы получал сообщение The type or namespace name 'WebGet ' could not be found (are you missing a using directive or an assembly reference?. И CL1 не компилировался бы. Но я не получаю такого сообщения и CL1 вполне себе строится. Так что проблема не в этом.
...
Рейтинг: 0 / 0
Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
    #37391092
justas_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разум победил тупую машину. Причина была в следующем: у CL1 в пропертях стояло
"Target framework = .Net Framework" ,
а у WS1 и WPF1:
"Target framework = .Net Framework Client Profile "

После того, как во всех проектах поставил ".Net Framework", все заработало.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Странная ошибка из-за [WebGet(ResponseFormat = WebMessageFormat.Json)]
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]