此示例使用 F# 辅助效果和一个 F# 库 C# web 角色的。
视图页提供游戏键盘布局和 UI 元素,并且,JavaScript 函数定义逻辑来改变期间,包括拖动的 HTML,计分和验证,并且平铺管理。
此迁移通常是获取运行在 windows 云服务的最复杂的部分 azure。
当游戏调用时,它与下图类似:
另一个 F# 库,FsAzureHelper,对于 windows azure API 提供 F# 友好的包装。
Controllers
BoardController.cs 包含发生的所有 WordGrid 特定逻辑和处理请求,而用户设置和玩游戏。
视图
这样,您可以确保您的页的一个常见标头和导航。
设计
在 WordGrid 游戏,模型层在 C# 和窗体在 UI 和游戏逻辑之间的层在 F# WordGrid 项目。
客户端脚本
除了验证和计分效果外,客户端处理客户端行为的 JavaScript,例如平铺管理和位置。
游戏逻辑
此代码使用类型提供程序与数据库进行交互。
资源和依赖项
此数据库的连接字符串出现在两 web.config 文件中:一个位于 WordGrid 项目和其他在 web 角色的项目。
若要设置任何一个字典选项,请参见代码注释的命令文件中 WorkerRole.fs。
生成,测试,并部署在计算模拟器的示例
-
在 Visual Studio 中,打开 windows azure 解决方案,然后选择 F5 键。
启动调试。
解决方案在计算模拟器开始,因此,WordGrid 登录页在您的浏览器。
-
注册 链接,然后输入用户名和密码。
若要测试该示例,您需要创建第二个用户的游戏。
-
注销 指向记录第一个用户,然后重复步骤 2 以创建第二个玩家的用户名。
-
新游戏 链接,从可能的匹配列表然后选择另一个玩家。
游戏在屏幕上启动并显示。
-
提交。 按钮。
返回 按钮返回到登录页,然后注销并再次登录,而另一个用户继续效果。
-
显示计算模拟器 UI。
-
服务部署下,展开 WordGrid 的节点,然后选择 MvcWebRole1 实例。
Windows Azure SDK Tools。
设置存储帐户
-
新建 按钮。
-
快速创建,然后输入一个名称存储帐户。
mystorageaccountname.core.windows.net。
-
启用 Geo 副本 复选框。
没有外加开销,此选项在多于一个存储您的数据在同一区域中的冗余物理位置。
-
创建存储帐户 链接完成您的设置和创建存储帐户。
在 Visual Studio,那么,当您将项目部署到 azure 时,该窗口现在可以设置 WordGrid 项目使用新创建的存储帐户。
-
属性。
角色设计器显示。
-
云。
如果选择云服务配置,可以对存储帐户使用连接字符串,当您部署到 windows azure 时,但仍使用计算模拟器,当您在运行和调试在本地计算机上。
-
… 按钮。
创建存储连接字符串 出现对话框。
-
我的订阅 选项按钮。
-
下载发布设置 链接,然后登录到管理门户网站。
此文件包含您的订阅和存储帐户凭据,应出现在对话框。
-
确定 按钮。
数据库迁移到 windows azure
-
快速创建。
如果您已具有一个数据库服务器,则可以跳过此步骤
-
创建用户名和密码如会进行提示。
在数据库连接字符串将使用此用户名和密码。
-
允许在防火墙规则的连接 链接。
在此页上,可以设置防火墙允许与数据库服务器的产生的连接。
-
执行以下步骤之一:
-
结束 IP 地址 文本框。
如果您不知道您的 IP 地址范围,请与网络管理员联系。
-
结束 IP 地址 文本框。
-
-
是。
-
打开 SQL Server 管理工作室
该本地数据库包括作为 .mdf 文件在该 MvcWebRole1 项目的 App_Data 子文件夹。
连接到 LocalDB 服务器为 Visual Studio 2012 中,(localdb)\v11.0。
-
打开本地 WordGrid 数据库。
其名称以“aspnet-MvcWebRole1 启动”。如果多个数据库具有类似的名称,请确保该数据库以与 WordGrid MvcWebRole1 项目的 .mdf 文件。
-
下一个。
-
连接 按钮。
-
服务器名称 框中,输入您在第 1. 来创建数据库服务器的地址。
servername.database.windows.net。
-
输入您在第 1. 中创建的用户名和密码。
说明
如果创建了其他数据库用户,不要使用这些凭据此处,除非它们具有权限创建在服务器上的数据库。
-
下一个 按钮。
摘要建议的数据库部署的页。
-
完成 按钮。
数据库服务器上创建,当从本地数据库和复制数据的任何架构。
-
导入。
-
wordgrid 为数据库名称,然后选择或创建服务器。
数据库中创建并添加到您的订阅可用的资源的列表。
-
在资源列表中,选择您创建的数据库。
该数据库的页。
-
若要创建具有受限制访问权限的凭据,请执行以下步骤:
-
管理 按钮,然后输入用户名和密码在第 1. 中创建的数据库服务器的。
-
主机。
-
新建查询 按钮,然后输入以下 SQL 代码,与新创建的用户名和密码:
CREATE LOGIN loginname WITH PASSWORD='myPassword'
现在可以创建此登录的数据库用户可以授予对 wordgrid 数据库的权限。
-
主机)。
-
新建查询 按钮,然后输入以下代码:
CREATE USER username FOR LOGIN loginname
-
运行 按钮,然后关闭选项卡。
-
-
显示连接字符串 链接,然后复制 ADO.NET 连接字符串到剪贴板。
粘贴连接字符串到的 MVC 项目的顶级 web.config 文件,下面的代码显示。
<connectionStrings> <add name="DefaultConnection" connectionString="<Paste here>" providerName="System.Data.SqlClient" /> </connectionStrings>该字符串用于 F# 类型提供程序只能在编译时。
-
选择 F5 键生成和调试该应用程序在计算模拟器,现在使用 windows azure SQL 数据库而不是您的 LocalDB 数据库。
Windows Azure SQL Database。
发布应用程序作为云服务
-
发布。
发布 windows azure 应用程序出现向导。
-
下载登录凭据 链接,然后输入您的凭据。
.publishsettings 文件下载。
-
导入 按钮填充排序内容。
-
您选择的订阅 列表中,选择订阅为此部署使用。
现在可以发布应用程序或修改任何设置为此部署。
-
“下一步”按钮。
设置页。
-
正在暂存。
-
调试。
当您在临时环境中若要提升您云服务添加到公共 URL 时,可以交换生产环境的临时环境。
-
启用 IntelliTrace 复选框处于选中状态。
-
发布。
Windows Azure 活动日志 Visual Studio 中的窗口来监视部署的进度。
Publishing Cloud Services to Windows Azure from Visual Studio。
使用 IntelliTrace 记录调试应用程序
-
添加部署环境…。
添加部署环境 出现对话框。
-
确定 按钮。
-
视图 IntelliTrace 记录。
请注意 IntelliTrace 调试会话相当有限的与调试比较局部,因此,该最优方法是执行尽可能多的计算在模拟器上调试,在部署应用程序。