| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > Странное отличие |
| Автор: starostin 26.5.2011, 09:11 |
| Откуда не возьмись появилось странное поведение службы. Запускаеться сервис хостовым приложением. Когда я его запускаю в вижуал студии, всё проходит гладко, все контракты отвечают как надо, всё путём. Но если я запускаю хостовое приложение, которое поднимает сервис, вручную(то бишь два раза щёлкаю мышкой по экзешнику Что я мог упустить? Странности ситуации добавляет то, что пару дней назад, до добавления одного из контрактов всё работало на ура, и его удаление из проекта результатов не даёт. |
| Автор: jonie 26.5.2011, 10:52 |
| под кем запускается (юзер) сервис и клиент? Какая авторизация стоит? Часом не Windows ? |
| Автор: starostin 26.5.2011, 11:10 | ||
Авторизацию не включал, оба запускаются с правами админа. Если бы была проблема с эти, то и раньше бы не работало, а сервис уже почти неделю работал исправно. Мне кажется, что как то не правильно регистрирую хоста
|
| Автор: jonie 26.5.2011, 14:28 |
| очень плохая идея делать в Start сервиса такие тяжелые операции как открытие SvcHost-а : _SvcHost.Open(); netstat -an показывает активность на 8137 порту? Прописан ли app.config для сервиса правильно? "Под админом обе" - у вас пользователь называется "MachineName\Админ" и под ним запускаетесь?* "Я ничего не прописывал с т.з. аутентификации" - вовсе не означает что указанный вами binding по умолчанию не имеет такой защиты. wsHttpBinding например как я помню использует по умолчанию как раз Windows аутентификацию (и перед установкой связи посылаются доп. пакеты для установки безопасного соединения как раз и отвечающие за установку типа утентификации (Kerberos\Windows) и контекста безопасности)..... хотя тут я могу ошибаться - надо читать msdn. *) "Права админа" это "сферический конь" в известном месте ... |
| Автор: starostin 27.5.2011, 08:40 | ||
| Ну если плохо так хост открывать, то расскажите пожалуйста мне как правильно. На порте состояние listening. Конфиг примитивный
я просто поставил галочку запускать с админскими правами, вряд ли дело в аутентификации, так как ошибка даже когда запускаешь на одной и той же машине и клиент и сервер. Что то с метаданыыми, то ли конфиг не находит, то ли не тот используется... |
| Автор: starostin 27.5.2011, 09:35 |
| Вот чё я заметил, убрал галку в свойвствах "Запустить узел службы WCF при отладке...", тогда и при отладке все те же проблемы, что и при ручном запуске, что за галяк такой? Нужно ли его вабще вручную запускать? |
| Автор: starostin 27.5.2011, 12:03 |
| Теперь я уверен, что дело не в автризации и правах, я добавил публикацию метаданных и бехейвер в код программы, что позволило браузеру получить эти данные. Значит, почему то сервис не может прочитать свой кофиг. Что бы это могло значить? |
| Автор: starostin 30.5.2011, 10:08 |
| хм, я сильно озадачен. В моём решение, только wcflibrary-проект имеет конфиг, у второго консольного проекта конфига нет. Конфиг дллки в дебаге по содержанию совпадает с app.config в проекте Я думаю яснее всё будет если я дам посмотреть сам проект: |
| Автор: starostin 30.5.2011, 12:58 |
| Чё то я повнимательней поглядел на ошибку выдаваемую wcftestclient: ЋиЁЎЄ : ЌҐ г¤ Ґвбп Ї®«гзЁвм ¬Ґв ¤ лҐ Ё§ http://localhost:8137/Sertificate/mex …б«Ё г ў б Ґбвм ¤®бвгЇ Є б«г¦ЎҐ Windows ® Communication Foundation, гЎҐ¤ЁвҐбм, зв® ўЄ«озҐ ЇгЎ«ЁЄ жЁп ¬Ґв ¤ ле Ї® гЄ § ®¬г ¤аҐбг. ‘Їа ў®злҐ бўҐ¤ҐЁп Ї® ўЄ«озҐЁо ЇгЎ«ЁЄ жЁЁ ¬Ґв ¤ ле б¬. ў ¤®Єг¬Ґв жЁЁ MSDN Ї® ¤аҐбг http://go.microsoft.com/fwlink/?LinkId=65455.ЋиЁЎЄ б«г¦Ўл ®Ў¬Ґ ¬Ґв ¤ л¬Ё WS-Metadata Exchange €¤ҐвЁдЁЄ в®а URI: http://localhost:8137/Sertificate/mex ЊҐв ¤ лҐ б®¤Ґа¦ в Ґа §аҐиЁ¬го ббл«Єг: "http://localhost:8137/Sertificate/mex". ’ЁЇ ᮤҐа¦Ё¬®Ј® application/soap+xml; charset=utf-8 Ґ Ї®¤¤Ґа¦Ёў Ґвбп б«г¦Ў®© http://localhost:8137/Sertificate/mex. ќв® ¬®¦Ґв Ўлвм ўл§ў ® Ґб®®вўҐвбвўЁҐ¬ ЇаЁўп§®Є Є«ЁҐв Ё б«г¦Ўл. “¤ «Ґл© бҐаўҐа ў®§ўа вЁ« ®иЁЎЄг: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..ЋиЁЎЄ HTTP GET URI: http://localhost:8137/Sertificate/mex ‚®§ЁЄ« ®иЁЎЄ ЇаЁ § Јаг§ЄҐ "http://localhost:8137/Sertificate/mex". ‘Ў®© § Їа®б б б®бв®пЁҐ¬ HTTP 400: Bad Request. Паходу чё то с кодировкой сталось, но как и ранее странно, ведь я к кодировкам не прикосался |
| Автор: starostin 1.6.2011, 09:02 |
| Такс, я решил забить на конфиг и прописать все настройки в коде, нашёл на одном бложке как должен выглядить код, но не знаю как отключить app.config, что бы сервис не лез в него за настройками. Что для этого надо сделать? |
| Автор: starostin 8.6.2011, 13:09 |
| Ну в общем решил я проблему сменив язык вижуал студии, а так же сменив версию soap в конфиге клиента |