2009-03-09 5 views
4

Я ищу фреймворк, который упрощает создание веб-сайта с функциями социальных сетей и множеством настраиваемых функций.Какая лучшая платформа для веб-разработки .NET?

Я очень хочу использовать ORM, например nHibernate или аналогичный для доступа к данным.

Может ли DotNetNuke быть хорошим выбором? Или есть другие варианты, которые лучше.

Добавлено: Я очень увлечен не нужно изобретать колесо для социальной сети, таких функций, как безопасный вход, открытого идентификатор, друзья и т.д.

ответ

0

Dot нетто Nuke хорошо, если вы хотите Content Management система. Я бы не использовал его, если вы хотите много причудливой индивидуальной разработки, но это полностью мое собственное мнение.

Я бы определенно использовал nHibernate хороший ORM.

5

В зависимости от того, на каком этапе вы начинаете, вы должны обязательно рассмотреть ASP.NET MVC. Это неотразимое улучшение по сравнению с ASP.NET и является духовным преемником многих подобных фреймворков из пространства Java, включая Spring/Struts и т. П. На данный момент он все еще находится в стадии бета-тестирования, но пока у него есть два релиза. Проверьте это здесь: http://www.asp.net/mvc/

NHibernate - хороший общий выбор для вашего ОРМ; он будет хорошо интегрироваться с почти всем, что вы можете придумать.

6

Попробуйте SubSonic как ваш ORM. Он имеет множество функций, облегчающих управление любыми данными.

+0

Похоже, этот проект настолько мертв, что ссылка идет на спам рекламного сайта. – Yishai

1

Я полностью понимаю, почему вы хотите использовать NHibernate, но, пожалуйста, подумайте дважды, нужно ли вам это делать. NHibernate не прост, и вам нужно будет поддерживать несколько функций, чтобы ваше приложение работало (SQL Server: T-SQL, слой DAL: XML + C#, уровень представления: C#, JavaScript).

Я лично стараюсь максимально ограничить количество технологий. Если я могу получить без хранимых процедур, я попытаюсь устранить любой код в моем слое данных. Вы не можете много сделать в своем слое презентации (C# и JavaScript). Поэтому я пытаюсь понять, какое приложение я создаю. Будете ли вы в основном запрашивать данные? Если это так, то Linq-to-SQL может быть правильным ответом для вас. Если вам нужно иногда обновлять некоторые данные, попробуйте взглянуть на Astoria (ADO.NET Data Services). Недавно была хорошая статья об этом в MSDN Magazine.

PS: Иногда я также пробую PLINQO (требуется CodeSmith).

+0

согласовала NHibernate не является тривиальным, но при использовании NHibernate вам очень редко приходится использовать SQL (только для очень конкретных сценариев оптимизации). DAL: Уже сделано, я обычно использую Rhino.Commons. Сопоставление: есть свободно-nhibernate, NHibernate.Mapping.Attributes. –

2

Посмотрите на Castle framework.

В двух словах, она включает в себя:

  • MonoRail (фреймворк MVC)
  • ActiveRecord (ORM, который опирается на NHibernate)
  • Windsor (IoC контейнер)

Эти рамки очень модульные, их можно использовать вместе или независимо, и любой из них можно легко заменить (т.е. заменить MonoRail на ASP.NET MVC, ActiveRecord with SubSonic или что вам нужно).

Я рекомендую вам воспользоваться новейшей хорошей конструкцией из build server, поскольку последний официальный релиз несколько старый.

0

Пойдите с [Subsonic] [1], как свою зрелую платформу, и почему бы не использовать ее как функцию NHbernate, она предлагает новые функции, такие как Selects with InnerJoins, Where clauses, Aggregate queries, а также поддержку SQL хранимые процедуры, если вам нужен SQL для выполнения операций для вас.

Вот пример вложенного запроса, который дает коллекцию:

ProductCollection products = Select.AllColumnsFrom<Product>() 
       .WhereExpression("categoryID").IsEqualTo(5).And("productid").IsGreaterThan(10) 
       .OrExpression("categoryID").IsEqualTo(2).And("productID").IsBetweenAnd(2, 5) 
       .ExecuteAsCollection<ProductCollection>(); 
0

Mmmmh, если решение, которое вы ищете наклоняется больше к «конфигурации», чем реальное развитие, вы можете посмотреть на:

от Microsoft Windows SharePoint Services 3.0 (WSS)

не смейтесь;)

Это бесплатная технология (построенная с использованием .Net framework), которая позволяет настраивать/контролировать «куст» сайтов/подсайтов, их членство и различные аспекты управления контентом (библиотеки документов и т. Д.) Из коробки. Можно настроить множество функций, таких как RSS-каналы, галереи, форумы.

Он также интегрируется с инструментами Office, такими как MS Word/excel и т. Д. (Версии и загрузки/загрузки).

Он хорошо подходит для функций типа сотрудничества, но также может быть использован как система CMS для интернет-сайта, если это необходимо.

Например, модель аутентификации может быть индивидуальной (ваш собственный db) или использовать AD и может быть выставлена ​​в Интернете.

На сайтах может быть скин (20 скинов из коробки) или сделать свою собственную/загружать скины дизайнера Sharepoint.

WSS может быть дополнительно расширен с использованием .Net, но вам понадобится достаточное количество знаний API WSS, если вы хотите возиться под капотом.

Большое маленькое приложение под названием SmartPart (http://weblogs.asp.net/jan/archive/2004/06/10/152932.aspx) позволяет интегрировать .Net .ascx файлы непосредственно в WSS WebPart (Таким образом, вы должны быть в состоянии свернуть свои собственные WebParts, которые интегрируют в раствор.