gpt4 book ai didi

.net - 使用 F# 进行简单的 .NET Web 开发

转载 作者:行者123 更新时间:2023-12-03 12:32:18 26 4
gpt4 key购买 nike

我希望使用 F# 将一些 HTML 输出到网页。有任何想法吗?

最佳答案

为了给出一些具体的“HOWTO”,我尝试创建一个简单的 ASP.NET MVC 应用程序,它实现了 F# 中的关键部分。如引用的答案中所述,使用 F# 进行 Web 开发的最佳方法是创建一个 C# Web 应用程序并将实现实际行为的所有类型移动到 F# 库。

虽然可以直接创建 F# web 项目,但有很多限制(例如,不完美的智能感知和可能的其他问题),因此管理 aspx C# 中的文件可能是一个更好的主意。

这是我所做的(使用 Visual Studio 2010):

  • 创建一个新的 C# 项目“ASP.NET MVC 2 Web 应用程序”。这将创建一个带有一些初始模板和几个页面的新 C# 项目。我将忽略处理帐户的页面(您可以删除它)。
  • HomeController.cs文件在 Controllers ,其中包含主页功能(加载数据等)。您可以删除该文件 - 我们将在 F# 中重新实现它。
  • 添加新的“F# 库”项目并添加对 ASP.NET MVC 程序集的引用。有很多(参见 C# 项目),但最重要的是,您需要 System.Web.Mvc.dll以及此引用的其他内容(F# 编译器会告诉您需要哪些)。
  • 现在,将下面的代码添加到 Module1.fs - 这实现了原来的 HomeController ,它曾经是用 C# 编写的。

  • 源代码如下所示:
    namespace MvcApplication1.Controllers

    open System
    open System.Web.Mvc

    [<HandleError>]
    type HomeController() =
    inherit Controller()

    member x.Index() =
    x.ViewData.["Message"] <- "Welcome from F#"
    x.View() :> ActionResult

    member x.About() : ActionResult =
    x.View() :> ActionResult

    这只是原始 C# 代码的重新实现(创建单个类)。我使用了原始的 C# 命名空间,以便 MVC 框架可以轻松找到它。

    文件 Views\Home\Index.aspx来自 C# 项目的定义用户界面并使用您设置为 ViewData 的数据。 F# 项目中的字典。

    这个“HOWTO”展示了如何使用 F# 编写 ASP.NET MVC 应用程序,但是创建一个普通的 WebForms 应用程序的步骤本质上是相同的——创建一个 C# web 应用程序并将实现类移到 F# 库中,它将被引用来自 C# Web 应用程序(实际上不会包含太多 C# 代码)。

    关于.net - 使用 F# 进行简单的 .NET Web 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754731/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com