2012-07-01 4 views
1

Я хочу создать классы, которые могут быть унаследованы другими классами для использования по моему проекту. Т.е. я хочу создать отдельный класс для каждого метода Mail, каждый класс будет по-разному применять метод Compose, и в будущем будет создано больше классов Mail.где должны храниться классы наследования?

Мой вопрос: где я должен создавать эти классы/интерфейсы? в App_Code?

+0

Что это за проект ASP.NET: WebForms для MVC? (Вы подразумеваете первое, но лучше быть понятным.) – Richard

+0

the first - webforms. Я предполагаю, что app_code - простой способ, но может привести к задержке во время выполнения. поэтому я поеду для библиотеки классов. – Yaniv

ответ

3

Я хотел бы предложить создать отдельную сборку и включить эту сборку в качестве ссылки в вашем веб-проекта. Это позволит вам писать независимые тестовые примеры против ваших классов/интерфейсов.

+0

Вы имеете в виду библиотеку классов? – Yaniv

+0

@ Yaniv: Правильно. Это способ увеличить количество кода, но он добавляет шаг к развертыванию (создайте библиотеку классов перед копированием '.dll' в папку bin для места назначения). – Richard

1

Помимо пользовательских элементов управления вы можете хранить исходные файлы в App_Code. В вашем случае вы можете хранить интерфейсы/классы в App_Code. Вы можете иметь несколько папок для группы классов/интерфейсов внутри AppCode.

AppCode

Вы можете хранить исходный код в папке App_Code, и это будет автоматически компилируются во время выполнения. Полученная сборка - , доступная для любого другого кода в веб-приложении. Таким образом, папка App_Code работает так же, как и папка Bin, за исключением того, что вы можете вместо этого скомпилировать код в исходном коде магазина . Папка App_Code и ее особый статус в веб-приложении ASP.NET позволяют создавать настраиваемые классы и другие файлы только для исходного кода и использовать их в своем веб-приложении без необходимости их компиляции самостоятельно.

Edit: Вы можете увидеть это обсудить: How to organize ASP.NET app_code folder?

+0

, скомпилированный во время выполнения ==, скомпилированный при первом запуске приложения или для первого запуска после iisreset? – Yaniv

+0

Первые элементы, которые нужно скомпилировать, называются элементами верхнего уровня. После первого запроса элементы верхнего уровня перекомпилируются только в случае изменения зависимостей. Элементы верхнего уровня включают App_Code, http://msdn.microsoft.com/en-us/library/ms366723.aspx – Habib

Смежные вопросы