此示例使用 F# 辅助效果和一个 F# 库 C# web 角色的。

视图页提供游戏键盘布局和 UI 元素,并且,JavaScript 函数定义逻辑来改变期间,包括拖动的 HTML,计分和验证,并且平铺管理。

此迁移通常是获取运行在 windows 云服务的最复杂的部分 azure。

本演练依赖于以下系统必备组件:

  • Visual Studio 2012

  • windows azure tools 下载页

  • 使用 windows azure 的帐户

  • SQL Server SQL Server 的管理工作室 2012 中

  • WordGrid CodePlex 示例

当游戏调用时,它与下图类似:

下图显示 WordGrid 示例结构。 除非明确提到在本节中,文件从模板保持不变。

另一个 F# 库,FsAzureHelper,对于 windows azure API 提供 F# 友好的包装。

Controllers

BoardController.cs 包含发生的所有 WordGrid 特定逻辑和处理请求,而用户设置和玩游戏。

视图

这样,您可以确保您的页的一个常见标头和导航。

设计

在 WordGrid 游戏,模型层在 C# 和窗体在 UI 和游戏逻辑之间的层在 F# WordGrid 项目。

客户端脚本

除了验证和计分效果外,客户端处理客户端行为的 JavaScript,例如平铺管理和位置。

游戏逻辑

此代码使用类型提供程序与数据库进行交互。

资源和依赖项

此数据库的连接字符串出现在两 web.config 文件中:一个位于 WordGrid 项目和其他在 web 角色的项目。

若要设置任何一个字典选项,请参见代码注释的命令文件中 WorkerRole.fs。

生成,测试,并部署在计算模拟器的示例

  1. 在 Visual Studio 中,打开 windows azure 解决方案,然后选择 F5 键。

    启动调试。

    解决方案在计算模拟器开始,因此,WordGrid 登录页在您的浏览器。

  2. 注册 链接,然后输入用户名和密码。

    若要测试该示例,您需要创建第二个用户的游戏。

  3. 注销 指向记录第一个用户,然后重复步骤 2 以创建第二个玩家的用户名。

  4. 新游戏 链接,从可能的匹配列表然后选择另一个玩家。

    游戏在屏幕上启动并显示。

  5. 提交。 按钮。

    返回 按钮返回到登录页,然后注销并再次登录,而另一个用户继续效果。

  6. 显示计算模拟器 UI。

  7. 服务部署下,展开 WordGrid 的节点,然后选择 MvcWebRole1 实例。

    Windows Azure SDK Tools。

设置存储帐户

  1. 新建 按钮。

  2. 快速创建,然后输入一个名称存储帐户。

    mystorageaccountname.core.windows.net。

  3. 启用 Geo 副本 复选框。

    没有外加开销,此选项在多于一个存储您的数据在同一区域中的冗余物理位置。

  4. 创建存储帐户 链接完成您的设置和创建存储帐户。

    在 Visual Studio,那么,当您将项目部署到 azure 时,该窗口现在可以设置 WordGrid 项目使用新创建的存储帐户。

  5. 属性。

    角色设计器显示。

  6. 云。

    如果选择云服务配置,可以对存储帐户使用连接字符串,当您部署到 windows azure 时,但仍使用计算模拟器,当您在运行和调试在本地计算机上。

  7. … 按钮。

    创建存储连接字符串 出现对话框。

  8. 我的订阅 选项按钮。

  9. 下载发布设置 链接,然后登录到管理门户网站。

    此文件包含您的订阅和存储帐户凭据,应出现在对话框。

  10. 确定 按钮。

数据库迁移到 windows azure

  1. 快速创建。

    如果您已具有一个数据库服务器,则可以跳过此步骤

  2. 创建用户名和密码如会进行提示。

    在数据库连接字符串将使用此用户名和密码。

  3. 允许在防火墙规则的连接 链接。

    在此页上,可以设置防火墙允许与数据库服务器的产生的连接。

  4. 执行以下步骤之一:

    • 结束 IP 地址 文本框。

      如果您不知道您的 IP 地址范围,请与网络管理员联系。

    • 结束 IP 地址 文本框。

  5. 是。

  6. 打开 SQL Server 管理工作室

    该本地数据库包括作为 .mdf 文件在该 MvcWebRole1 项目的 App_Data 子文件夹。

    连接到 LocalDB 服务器为 Visual Studio 2012 中,(localdb)\v11.0。

  7. 打开本地 WordGrid 数据库。

    其名称以“aspnet-MvcWebRole1 启动”。如果多个数据库具有类似的名称,请确保该数据库以与 WordGrid MvcWebRole1 项目的 .mdf 文件。

  8. 下一个。

  9. 连接 按钮。

  10. 服务器名称 框中,输入您在第 1. 来创建数据库服务器的地址。

    servername.database.windows.net。

  11. 输入您在第 1. 中创建的用户名和密码。

     说明

    如果创建了其他数据库用户,不要使用这些凭据此处,除非它们具有权限创建在服务器上的数据库。

  12. 下一个 按钮。

    摘要建议的数据库部署的页。

  13. 完成 按钮。

    数据库服务器上创建,当从本地数据库和复制数据的任何架构。

  14. 导入。

  15. wordgrid 为数据库名称,然后选择或创建服务器。

    数据库中创建并添加到您的订阅可用的资源的列表。

  16. 在资源列表中,选择您创建的数据库。

    该数据库的页。

  17. 若要创建具有受限制访问权限的凭据,请执行以下步骤:

    1. 管理 按钮,然后输入用户名和密码在第 1. 中创建的数据库服务器的。

    2. 主机。

    3. 新建查询 按钮,然后输入以下 SQL 代码,与新创建的用户名和密码:

       
      CREATE LOGIN loginname WITH PASSWORD='myPassword'
      

      现在可以创建此登录的数据库用户可以授予对 wordgrid 数据库的权限。

    4. 主机)。

    5. 新建查询 按钮,然后输入以下代码:

       
      CREATE USER username FOR LOGIN loginname
      
    6. 运行 按钮,然后关闭选项卡。

  18. 显示连接字符串 链接,然后复制 ADO.NET 连接字符串到剪贴板。

    粘贴连接字符串到的 MVC 项目的顶级 web.config 文件,下面的代码显示。

     
     
    <connectionStrings>
        <add name="DefaultConnection" connectionString="<Paste here>" providerName="System.Data.SqlClient" />
        </connectionStrings>
    

    该字符串用于 F# 类型提供程序只能在编译时。

  19. 选择 F5 键生成和调试该应用程序在计算模拟器,现在使用 windows azure SQL 数据库而不是您的 LocalDB 数据库。

    Windows Azure SQL Database。

发布应用程序作为云服务

  1. 发布。

    发布 windows azure 应用程序出现向导。

  2. 下载登录凭据 链接,然后输入您的凭据。

    .publishsettings 文件下载。

  3. 导入 按钮填充排序内容。

  4. 您选择的订阅 列表中,选择订阅为此部署使用。

    现在可以发布应用程序或修改任何设置为此部署。

  5. “下一步”按钮。

    设置页。

  6. 正在暂存。

  7. 调试。

    当您在临时环境中若要提升您云服务添加到公共 URL 时,可以交换生产环境的临时环境。

  8. 启用 IntelliTrace 复选框处于选中状态。

  9. 发布。

    Windows Azure 活动日志 Visual Studio 中的窗口来监视部署的进度。

    Publishing Cloud Services to Windows Azure from Visual Studio。

使用 IntelliTrace 记录调试应用程序

  1. 添加部署环境…。

    添加部署环境 出现对话框。

  2. 确定 按钮。

  3. 视图 IntelliTrace 记录。

    请注意 IntelliTrace 调试会话相当有限的与调试比较局部,因此,该最优方法是执行尽可能多的计算在模拟器上调试,在部署应用程序。

相关文章:

  • 2021-05-20
  • 2021-11-23
  • 2021-04-05
  • 2022-03-01
  • 2021-11-23
  • 2021-09-23
猜你喜欢
  • 2023-02-21
  • 2021-12-12
  • 2021-06-13
  • 1970-01-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案