2009-03-09 14 views
4

Ich bin auf der Suche nach einem Framework zur Vereinfachung der Erstellung einer Website mit Social-Networking-Funktionen und vielen benutzerdefinierten Funktionen.Was ist das beste .NET-Webentwicklungsframework?

Ich bin sehr daran interessiert, ein ORM wie nHibernate oder ähnliches für den Datenzugriff zu verwenden.

Wäre DotNetNuke eine gute Wahl? Oder gibt es andere Möglichkeiten, die besser sind?

Hinzugefügt: Ich bin sehr daran interessiert, nicht das Rad für die sozialen Netzwerk-Funktionen wie sichere Anmeldung, OpenID, Freunde usw.

Antwort

0

Dot net Nuke ist gut zu haben, neu zu erfinden, wenn Sie ein Content Management wollen System. Ich würde es nicht verwenden, wenn Sie eine Menge ausgefallene Eigenentwicklung wünschen, aber das ist meine eigene Meinung.

Ich würde auf jeden Fall nHibernate gute ORM verwenden.

5

Je nachdem, welchen Zeitraum Sie für den Start benötigen, sollten Sie unbedingt ASP.NET MVC in Betracht ziehen. Es ist eine überzeugende Verbesserung gegenüber ASP.NET und ist ein geistiger Nachfolger für viele ähnliche Frameworks aus dem Java-Bereich, einschließlich Spring/Struts und dergleichen. Es ist noch in der Betaversion, hat aber bisher zwei Release-Kandidaten. Überprüfen Sie es hier: http://www.asp.net/mvc/

NHibernate ist eine gute allgemeine Wahl für Ihre ORM; Es wird sich gut in fast alles integrieren, was dir einfällt.

6

Probieren Sie SubSonic als Ihr ORM. Es verfügt über viele Funktionen, um jedes datenintensive Projekt einfach zu verwalten.

+0

Es scheint, wie dieses Projekt so tot ist, dass der Link auf eine Website Spam reklame geht. – Yishai

1

Ich verstehe völlig, warum Sie NHibernate verwenden möchten, aber bitte überlegen Sie zweimal, ob Sie müssen. NHibernate ist nicht einfach und Sie müssen mehrere Dinge verwalten, um Ihre Anwendung laufen zu lassen (SQL Server: T-SQL, DAL-Ebene: XML + C#, Präsentationsebene: C#, JavaScript).

Ich persönlich versuche, die Anzahl der Technologien so weit wie möglich zu begrenzen. Wenn ich ohne gespeicherte Prozeduren erhalten kann, versuche ich, Code in meiner Datenschicht zu beseitigen. Sie können in Ihrer Präsentationsebene (C# und JavaScript) nicht viel tun. Deshalb versuche ich zu sehen, welche Art von Anwendung ich erstelle. Werden Sie hauptsächlich Daten abfragen? Wenn ja, dann könnte Linq-to-SQL die richtige Antwort für Sie sein. Wenn Sie gelegentlich Daten aktualisieren müssen, dann werfen Sie einen Blick auf Astoria (ADO.NET Data Services). Es gab kürzlich einen guten Artikel darüber in MSDN Magazine.

PS: Manchmal versuche ich auch PLINQO (erfordert CodeSmith).

+0

Vereinbarte NHibernate ist nicht trivial, aber wenn Sie NHibernate verwenden, müssen Sie * sehr * selten SQL verwenden (nur für sehr spezifische Optimierungsszenarien). DAL: Schon fertig, ich benutze normalerweise Rhino.Commons. Mapping: da ist flüssig-Nhibernate, NHibernate.Mapping.Attributes. –

2

Werfen Sie einen Blick auf die Castle framework.

Auf den Punkt gebracht, enthält es:

Diese Frameworks sind sehr modular, sie können zusammen oder unabhängig voneinander verwendet werden und jeder von ihnen kann ziemlich leicht ersetzt werden (dh MonoRail durchersetzen, ActiveRecord with SubSonic oder was immer Sie brauchen).

Ich empfehle, dass Sie den neuesten guten Build aus der build server als die neueste offizielle Version ist etwas alt.

0

Gehen Sie mit [Subsonic] [1], wie es ist eine ausgereifte Plattform und warum nicht so funktionsreich wie NHbernate, bietet es neue Funktionen wie Selects mit InnerJoins, Where-Klauseln, Aggregate Abfragen sowie Unterstützung für SQL gespeicherte Prozeduren sollten Sie SQL benötigen, um Operationen für Sie durchzuführen. Hier

ist ein Beispiel für eine verschachtelte Abfrage, die eine Sammlung ergibt:

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, Wenn die Lösung, die Sie suchen mehr auf ‚Konfiguration‘ lehnt sich als tatsächliche Entwicklung, man konnte sehen:

Microsoft Windows Sharepoint Services 3.0 (WSS)

lachen Sie nicht;)

Es ist eine kostenlose Technologie (unter Verwendung des .Net-Frameworks), mit der Sie einen 'Bienenstock' von Websites/Unterseiten, ihre Zugehörigkeit und verschiedene Inhaltsverwaltungsaspekte (Dokumentbibliotheken usw.) anpassen und steuern können. Viele viele Funktionen wie RSS-Feeds, Galerien, Foren können konfiguriert werden.

Es integriert auch mit Office-Tools wie MS Word/Excel usw. (Versionierung und Uploads/Downloads).

Es ist gut in Collaboration Typ Funktionen von Teams, könnte aber auch als CMS-System für eine Internetseite verwendet werden, wenn dies gewünscht wird.

Zum Beispiel kann das Authentifizierungsmodell benutzerdefiniert sein (eigene Datenbank) oder AD verwenden und im Internet verfügbar gemacht werden.

Die Seiten können gehäutet werden (20 Skins out of box) oder eigene/Sharepoint Designer-Skins herunterladen.

WSS kann mit .Net weiter erweitert werden, aber Sie werden eine Menge Wissen von WSS API benötigen, wenn Sie unter der Haube basteln möchten.

Eine große kleine App namens Smartpart (http://weblogs.asp.net/jan/archive/2004/06/10/152932.aspx) können Sie Ihre .Net .ascx Dateien direkt in einer WSS webpart integrieren (So sollten Sie Ihre eigenen webparts rollen können, die in die Lösung zu integrieren.

Verwandte Themen