| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > Установка Silverlight приложения на IIS |
| Автор: Saphir 11.12.2010, 19:08 |
| Здравствуйте, в учебных целях интересуюсь... Есть маленький проектик на Silverlight 4. Нужно его развернуть на MS Server 2008. Сам сервер установлен. Подскажите пожалуйста как развернуть само приложение. |
| Автор: jonie 11.12.2010, 19:27 |
| Saphir, вопросы 1) что вы используете для коннекте к хосту из SL : WCF, WCF Data Services, WCF RIA Services, что-то еще? 2) Подразумевате ли вы что для коннекта в базу будет использована windows аутентификация, или предпочитаете SQL Server-ную? Под кем запускается IIS ? 3) Установлено ли на сервере IIS7 или стоит IIS6 ? Стоит ли там .NET Framework 4 ? Зарегистрированы ли в IIS нужные MIME Type-ы (.svc, .xap как минимум) ? 4) Что вы используете в разработке кроме того что есть, например Silverlight Toolkit ? .... |
| Автор: Saphir 11.12.2010, 20:02 |
| 1. WCF Web Services 2. SQL Server-ная. Можно и под админом) 3. IIS 7, стоит .NET 4, нужные MIME Type-ы теперь стоят 4. Вся разработка велась в VS 2010, использовался SQL Server 2008. |
| Автор: jonie 12.12.2010, 15:42 |
| ну тогда просто создавайте веб сайт в IIS и выкладывайте сайт в него, может быть придется поправить web.config... не забыть что надо активировать (по умолчаиню выключено) sql серверную авторизацию у MSSQL и коннекшены стринги соответствующие исправить в web.config. Дополнительно ничего не нужно, т.к. silverlight сам по себе это клиентская тенология - максимум проблемы с развертыванием всяких WCF * фиговин на сервере и их настройки) |
| Автор: Kaerus 13.12.2010, 17:29 |
| Вопросик по теме от меня: Есть солюшен состоящий из 2-х проектов: 1) Сервис WCF 2) Silverlight приложение (которое обращается к нему за данными) В режиме отладки используется DeveloperServer с одним портом, а развертывается оно на том же ПК (на IIS) который сидит на другом порте и IP. Как сделать что бы не приходилось вручную менять настройки silverlight приложения (ip и порт сервиса) в ClientConfig для отладки и конечного релиза (хотелось бы автоматизировать это)? |
| Автор: jonie 13.12.2010, 20:36 |
| Kaerus, ну тупой топорный способ это написание конфиги для дебага и релиза (diff конфигурации, это поддерживается VS2010 из коробки)... А вообще меняйте порт в рантайме: если у вас и хост и wcf на одном порту, тогда берите текущий адрес (App.Current.Host.Source) и парсите .... ну и задавайте своему прокси-клиенту нужный и сформированный endpoint Кстати вы можете использовать Uri("/service.svc", UriKind.Relative) как точку enpdoint.... А еще не забывайте, что если у вас на разных доменах силверлайт и wcf сервис, то вам надо в настройках IIS добавить файл accesspolicy.xml (или как-то так) для применения кросдоменной политики (поищите либо тут я уже отвечал, либо в интернет)... |
| Автор: Saphir 17.12.2010, 22:46 |
| Спасибо за ответы. Вылезает ошибка (http://img594.imageshack.us/i/screen3xr.jpg/). Не обработанное исключение. Оно связано с неправильным файлом конфигурации или какой-то ошибкой на сервере? |
| Автор: jonie 17.12.2010, 23:30 |
| Saphir, возьмите Fidder или другой веб прокси и посмотрите что сервер отсылает в HTTP 500 ... |
| Автор: Saphir 18.12.2010, 16:03 |
| jonie, большое спасибо за наводку. Сейчас проблема с подключением базы данных: System.Data.SqlClient.SqlException: Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed. Уверен, что связана с тем, что запрещена серверная авторизация. Пытался исправить это, используя вот http://social.msdn.microsoft.com/forums/en-US/sqldatabaseengine/thread/88def9dd-5bf7-4156-b416-6db1c6752d48/ ссылку, но запрос не выполняется из-за ошибки. Можно ли каким-то другим образом разрешить эту проблему? |
| Автор: jonie 18.12.2010, 16:30 |
| Saphir, да нет, это из-за того что вы коннектясь от имени юзера под кем запущен IIS (если используете автоирзацию windows для mssql) не можете туда законнектится..... хоят мб и серверная авторизация, хрен его знает что вы там написали ж) И вообще это уже вопрос не про разворачивание и силверлайт, а про обычный C# ... можно, кстати , логирование делать же и вообще отладчиком подрубиться 8) |
| Автор: Saphir 24.12.2010, 13:02 |
| Вопрос решен. Решил его правкой веб конфига (указал там пользователя для доступа к базе данных)... |
| Автор: zoNder 23.1.2011, 23:45 |
| Возможно ли запустить приложение на IIS6 написанное на .NET Framework ? Т.е. в качестве сервера будет выступать Windows 2003 IIS 6 с установленным .Net 4 |