Einfache .NET Web-Entwicklung mit F #

7

Ich möchte HTML mit F # auf einer Webseite ausgeben. Irgendwelche Ideen?

    
Matthew H 02.05.2010, 19:53
quelle

2 Antworten

10

Um ein bestimmtes "HOWTO" zu geben, habe ich versucht, eine einfache ASP.NET MVC-Anwendung zu erstellen, die die wichtigsten Teile in F # implementiert. Wie in der referenzierten Antwort erwähnt, besteht die beste Methode zur Verwendung von F # für die Webentwicklung darin, eine C # -Webanwendung zu erstellen und alle Typen, die das tatsächliche Verhalten implementieren, in eine F # -Bibliothek zu verschieben.

Obwohl es möglich ist, direkt F # web project zu erstellen, gibt es viele Einschränkungen (z. B. nicht perfektes intellisense und möglicherweise andere Probleme), daher ist die Verwaltung der aspx -Dateien in C # wahrscheinlich eine bessere Idee.

Hier ist, was ich getan habe (mit Visual Studio 2010):

  • Erstellen Sie ein neues C # -Projekt "ASP.NET MVC 2 Web Application". Dies erstellt ein neues C # -Projekt mit einer anfänglichen Vorlage und einigen Seiten. Ich ignoriere die Seite, die Konten behandelt (Sie können es löschen).
  • Es gibt HomeController.cs Datei in Controllers , die Funktionalität für die Homepage enthält (Laden von Daten usw.) Sie können die Datei löschen - wir werden sie in F # neu implementieren.
  • Fügen Sie ein neues "F # Library" -Projekt hinzu und fügen Sie Referenzen zu ASP.NET MVC-Assemblys hinzu. Es gibt eine Menge von ihnen (siehe das C # -Projekt), aber vor allem benötigen Sie System.Web.Mvc.dll und andere, die von diesem referenziert werden (der F # -Compiler wird Ihnen sagen, welche Sie benötigen).
  • Fügen Sie nun den folgenden Code zu Module1.fs hinzu - dies implementiert die ursprüngliche HomeController , die früher in C # geschrieben wurde.

Der Quelltext sieht so aus:

%Vor%

Dies ist einfach eine Neuimplementierung des ursprünglichen C # -Codes (Erstellen einer einzelnen Klasse). Ich habe den ursprünglichen C # -Namespace verwendet, damit das MVC-Framework es leicht finden kann.

Die Datei Views\Home\Index.aspx aus dem C # -Projekt definiert die Benutzeroberfläche und verwendet die Daten, die Sie in Ihrem F # -Projekt für das ViewData -Wörterbuch festgelegt haben.

Dieses "HOWTO" zeigt, wie F # zum Schreiben von ASP.NET MVC-Anwendungen verwendet wird, aber die Schritte zum Erstellen einer normalen WebForms-Anwendung sind im Wesentlichen die gleichen - erstellen Sie eine C # -Webanwendung und verschieben Sie die implementierenden Klassen in F # library wird von der C # -Webanwendung referenziert (die nicht wirklich viel C # -Code enthält).

    
Tomas Petricek 02.05.2010, 21:05
quelle
9

Falls jemand an einer ausführlicheren Diskussion interessiert ist, habe ich einen Artikel zu diesem Thema geschrieben:

Der Artikel zeigt eine relativ einfache MVC-Webanwendung, die in F # erstellt wurde. Controller und Modell sind in einer separaten F # -Bibliothek implementiert (zusammen mit dem Routen-Mapping). Das Beispiel zeigt auch, wie Sie LINQ aus F # für den Datenzugriff verwenden (einschließlich einiger ordentlicher Tricks wie der Zusammensetzung von Zitaten).

Tomas Petricek 09.05.2010 19:20
quelle

Tags und Links