教程:使用 F# 创建 ASP.NET Core Web 服务

Visual Studio 集成开发环境 (IDE) 对多个产品类型支持 F#。 可轻松创建完整的 Web 服务应用。

有关使用 F# 编码的详细信息,请参阅什么是 F#。 若要创建 Hello World 控制台应用,请参阅 Visual Studio 中的 F# 入门

在本教程中,你将了解如何执行以下操作:

  • 创建 ASP.NET Core Web 服务。
  • 使用 F# 向 HttpGet 成员添加内容。
  • 构建程序并运行。

先决条件

若要完成本教程,必须具有 Visual Studio。 请访问 Visual Studio 下载页获取免费版本。

若要完成本教程,必须具有 Visual Studio。 请访问 Visual Studio 下载页获取免费版本。

若要完成本教程,必须具有 Visual Studio。 请访问 Visual Studio 下载页获取免费版本。

确保已安装必要的组件:

  1. 选择 Windows 图标“开始”并键入“Visual Studio 安装程序”。

  2. 选择“修改”,查看安装的工作负载。

  3. 确保已选择“ASP.NET 和 Web 开发”,或添加它。

    屏幕截图显示了在 Visual Studio 安装程序中修改工作负载。

  4. 如果进行了任何更改,请选择“修改”以安装组件。

创建 ASP.NET Core Web 服务

在此部分,创建一个 ASP.NET Core Web API 项目。 即使尚未添加任何内容,项目类型随附的模板文件里也包含一个功能性 Web 服务。

  1. 启动 Visual Studio 2017。 从顶部菜单栏中选择“文件” > “新建” > “项目”。

  2. 在“新建项目”对话框的左窗格中,展开“Visual F#”,然后选择“Web”。 在中间窗格中,选择“ASP.NET Core Web 应用程序”。

  3. 对于“名称”,键入“FSharpTutorial”,然后选择“确定”。

  4. 在“新建 ASP.NET Core Web 应用程序”对话框中,选择默认版本。

    备注

    不再支持 ASP.NET Core 2.1。 建议不要对生产环境使用不受支持的选项。

  5. 在“解决方案资源管理器”中,展开“控制器”文件夹,然后选择“ValuesController.fs”,在编辑器中将其打开 。

    屏幕截图显示了 F# Web API 项目中“值控制器”呈展开状态的“解决方案资源管理器”。

  6. 接下来,修改现有 Get() 成员示例,使其与以下代码相匹配:

    [<HttpGet>]
    member this.Get() =
        let values = [|"Hello"; "World"; "First F#/ASP.NET Core web API!"|]
        ActionResult<string[]>(values)
    

    此代码包含一个 F# 值数组,这些值绑定到 values 名称。 它将这些值作为 ActionResult 传递到 ASP.NET Core 模型-视图-控制器框架。 ASP.NET Core 会完成其余部分。

  7. 选择“F5”键以运行项目。 此时将打开一个浏览器窗口以显示 Hello World 消息。

  1. 启动 Visual Studio。

  2. 在“开始”窗口中,选择“创建新项目”。

  3. 在“创建新项目”页上,在搜索框中键入“F# Web” 。 选择“ASP.NET Core Web API”项目模板,然后选择“下一步” 。

  4. 在“配置新项目”对话框中,对于“项目名称”,输入“FSharpTutorial” 。

  5. 在“其他信息”对话框中,接受“框架”的默认版本 。

    选择“创建”时,Visual Studio 创建新的 F# 项目。 可在“解决方案资源管理器”窗口中查看项目组件。 Visual Studio 显示“概述”页。

  6. 在“解决方案资源管理器”工具栏中,展开“控制器”文件夹,然后选择“WeatherForecastController.fs”控制器以在编辑器中打开代码文件 。

    屏幕截图显示了 F# Web API 项目中“天气预报控制器”呈展开状态的“解决方案资源管理器”。

  7. 接下来,将 Get() 成员修改为以下代码:

    [<HttpGet>]
    member this.Get() =
        let values = [|"Hello"; "World"; "First F#/ASP.NET Core web API!"|]
        ActionResult<string[]>(values)
    

    此代码包含一个 F# 值数组,这些值绑定到 values 名称。 它将这些值作为 ActionResult 传递到 ASP.NET Core 模型-视图-控制器框架。 ASP.NET Core 会完成其余部分。

  8. 选择“F5”键以运行项目。 此时将打开一个浏览器窗口以显示 Hello World 消息。

备注

如果收到询问你是否接受 IIS SSL Express 证书的消息,请选择“是”以在 Web 浏览器中查看代码,如果收到后续的安全警告消息,也请选择“是”。

后续步骤

查看 F# 教程(如果你尚未查看)。 本教程介绍 F# 语言的核心功能。 它概述了 F# 的一些功能以及你可运行的代码示例。

另请参阅