Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> развертывание и отладка на хостинге 
V
    Опции темы
evgenybe
Дата 17.11.2007, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



У меня на локальном компе приложение было на ASP.NET 2003 
В Solution было 4 проекта (один из них с формами и 3 - билиотеки классов)
Я перевел приложение в ASP.NET 2005 и отладил его на локальном компе. Теперь начал развертывать сайт на хостинге и вижу, что dll-и библиотек классов есть (3 штуки). А где dll основного проекта с формами? Его нет. Это так и положено? Что надо вместо него развертывать на хостинге?

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

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
 
или 

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>
 
Но ни то, ни другое не помогает.

В чем тут дело?
PM MAIL WWW   Вверх
tol05
Дата 17.11.2007, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Есть много статей и учебников по основам ASP.NET. Нужно их почитать.
Хорошие книги по ASP.NET 2.0 написал Эспозито. Если поискать, то можно скачать их в электронном виде.

Вот, кстати, два в одном - on-line отрывок из книги Эспозито


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
evgenybe
Дата 18.11.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Цитата(tol05 @ 17.11.2007,  21:11)
Есть много статей и учебников по основам ASP.NET. Нужно их почитать.
Хорошие книги по ASP.NET 2.0 написал Эспозито. Если поискать, то можно скачать их в электронном виде.

Вот, кстати, два в одном - on-line отрывок из книги Эспозито

За совет, конечно, спасибо. 
Беда в том, что у меня есть несколько книг по ASP.Net 2.0. В том числе и Дино Эспозито и Мэтью Мак-Дональд. И я их естесственно прочитал. А сейчас еще и целенаправленно прочитал на данную тему. К сожалению, ответов на свой вопрос я не нашел.

На работе мне посоветовали сделать Publishing Web Site в определенную директорию. Что я исделал. В результате в папке Bin оказалось около 200 dll вместо 4-х как в 2003. Кроме того там оказались и файлы с расширением .compiled. Dll я добросовестно закачал на сайт в папку Bin.
Но и это не помогло.

По-прежнему я не могу даже суть ошибки узнать. 

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

Спасибо.

PM MAIL WWW   Вверх
tol05
Дата 18.11.2007, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



ну что ж, ладно. 

значит так. Допустим есть солюшен из одного сайта и трех проектов dll. Сайт ccылается на все эти проекты через reference (обычным способом, как будто это и не сайт, а простой .Net проект)
При компиляции эти три dll должны оказаться в папке bin сайта. В этой же папке должны быть все другие dll, которые сайта  как-то использует. Имеются в виду именно внешние dll, не имеющие никакого отношения к коду самого сайта.

Теперь код сайта. Все codebehind страниц, контролов, папка AppCode, все, что имеет .Net-код и принадлежит сайту - все это компилируется и находится в папке Temporaly ASP.NET files 
У меня на машине это 
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\

эти dll с хитрыми именами, в хитрых папках, создаются динамически, самим ASP.NET и тут руками ничего делать не нужно (чревато exception-ами при "поднятии" сайта)

Таким образом, чтобы мигрировать сайт на "чистый сервер" нужно:
- сделать виртуальную директорию на сервере, куда IIS будет маршрутиризировать запрос.
- в эту директорию скопировать сайт (конфиги, страницы, служебные ASP.NET папки - bin, AppCode и другие) - короче говоря всю рабочую директорию сайта целиком, как есть.
- проверить, чтобы в bin были все посторонние dll, все остальные удалить. Никаких .compiled или App_Web_evmuqkdb.dll в bin быть не должно. Это все должно быть в Temporary ASP.NET Files. Должны быть только dll_ки типа evgenybe.Core.dll, evgenybe.Graphics.dll ну и т.д. Те, что содержат посторонний, но необходимый сайту функционал.
- проверить в IIS версию ASP.NET на этот сайт (вкладка ASP.NET в пропертях сайта).


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
davandr
Дата 19.11.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 25.10.2005
Где: Украина, Харьков

Репутация: нет
Всего: нет



Мне вот тоже интересно, как же все-таки правильно выкладывать сайт. 
Нужно ли выкладывать codebehind страниц и классы App_Code. (ведь в таком случае вся бизнес логика, которая не  спряталась в сторонние dll будет грубо говоря незащищенной)
И для чего тогда нужно Publishing Web Site?

evgenybe, чтобы ты мог просмотреть свои ошибки прямо на сайте необходимо выставить

<compilation debug="true">

Это сообщение отредактировал(а) davandr - 19.11.2007, 12:44


--------------------
PM MAIL   Вверх
tol05
Дата 19.11.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Цитата(davandr @  19.11.2007,  11:40 Найти цитируемый пост)
Нужно ли выкладывать codebehind страниц и классы App_Code. (ведь в таком случае вся бизнес логика, которая не  спряталась в сторонние dll будет грубо говоря незащищенной)

я говорил о простой миграции сайта, чтобы он хотя бы поднялся smile
Это если на сервере нужен код папка App_Code и страницы со своими code-behind. Иногда это нужно. Например, поднял я сайт, смотрю на него из дома, а правлю его - через терминал, в блокноте код страниц и App_Code меняю. По-другому иногда и не получается...

А в принципе, конечно код выкладывать нехорошо... Для этого и предусмотрена утилита aspnet_compiler.exe
Эспозито подробно описывает виды компиляции и развертывания сайта. Лучше почитать его и потренироваться на чем-нибудь...

В идеале, как я понимаю, никакого кода на сервер выкладывать не нужно (в релизе), а просто откомпилировать сайт и dll-ки App_Code, App_Web в bin и закинуть
вот пример. Команда 
Код

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_compiler.exe -v /Template C:\1

выдает
user posted image
никакого кода. 
Но если, повторяю, он есть (папка App_Code на сервере нужна), тогда вариант деплоймента такой, как я описывал выше.
Главное, чотбы был или код, или готовые сборки без кода. Иначе динамически скомпилированные из кода сборки будут конфликтовать с такими же, размещеными в bin


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
evgenybe
Дата 19.11.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Значица так:
Первая страница сайта (она без кода - чистый HTML) поднимается нормально.
При клике на линк и попытке перейти на следущую страницу (в которой есть код) выдается сообщение о котором я писал. Суть ошибки и место ее появления неизвестно.

Как я уже говорил все DLL я закачал на сайт в папку bin. 

Вопрос: блин, может надо не в бин? Может в бин только те, которые изначально в бин?

Далее... <compilation debug="true"> - я естес-с-с-но это сделал.
Однако так и не вижу читаемого сообщения об ошибке.
PM MAIL WWW   Вверх
tol05
Дата 20.11.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



повторяю. Два взаимоисключающих варианта:
1. все скопировать "как есть" и папка bin должна содержать только то, что есть у разработчика на машине в bin + dll-ки от посторонних проектов (или посторонних производителей)
2. сделать предкомпиляцию сайта утилитой aspnet_compiler.exe и выложить только то, что окажется в папке предкомпиляции

Цитата(evgenybe @  19.11.2007,  18:13 Найти цитируемый пост)
блин, может надо не в бин? Может в бин только те, которые изначально в бин?

да. это вариант №2

смотри мой предыдущий пост и читай Эспозито.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
evgenybe
Дата 20.11.2007, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 22.5.2007
Где: Израиль

Репутация: нет
Всего: 1



Так я изначально и сделал по первому варианту.
Не работает. Мало того. Выдает RunTime  Error без указания файла, номера строки и сути проблемы.
Но об этом я уже писал раньше. Так что мы уже по второму кругу идем.
PM MAIL WWW   Вверх
tol05
Дата 20.11.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



1. тогда перечисли все папки и все файлы в папках ДО компиляции и после компиляции
Цитата(evgenybe @  20.11.2007,  19:55 Найти цитируемый пост)
Выдает RunTime  Error без указания файла, номера строки и сути проблемы

2. скриншот пришли.

Цитата(evgenybe @  17.11.2007,  14:14 Найти цитируемый пост)
Теперь начал развертывать сайт на хостинге

3. подробно, какие операции делаешь? Может быть мы под "развертыванием" понимаем разные вещи?

4. на сервере точно стоит второй asp? 
5. IIS со вторым asp работает (на других приложениях)?


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Zakonnic
Дата 22.11.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 25.4.2006

Репутация: 3
Всего: 6



Не понятно, решил ли автор проблему, так что напишу.
Цитата(evgenybe @  17.11.2007,  15:14 Найти цитируемый пост)
Выдает совет установить:
<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
Для отладки так и сделай. Ясен пень, что это не помогает - оно просто будет выдавать конкретное описание ошибки, которое, кстати, ты не привел, и даже совет по ее устранению. <compilation debug="true"> на удаленном хостинге вообще бесполезен - дебагера там нету. 

Цитата(davandr @  19.11.2007,  12:40 Найти цитируемый пост)
Мне вот тоже интересно, как же все-таки правильно выкладывать сайт. 
Тупой, надежный способ: Правый клик по проекту -> Publish Web Site -> Browse -> Local IIS -> Create new web application. Вот в это новое приложение и пАблишим. Проверяем работу. Если сам сайт нормальный, то проблемы могут быть только в настройках. Далее копируем ВСЕ из папки этого сайта в папку на хостинге без изменений. 

Кстати, некоторые хостинги могут ограничивать свой IIS и ваши права на его настройку или использование ресурсов, подключение к БД и пр. Тут уже надо читать, что конкретно они запрещают.
--------------------
...и никогда не пишите в комментариях правду
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.