zoukankan      html  css  js  c++  java
  • 天空象棋——网站与用户

    上一篇文章《天空象棋——冲上云霄》介绍了如何把天空象棋的算法服务发布到Azure上,以及提供了一个使用该云服务的象棋客户端。这次的任务是为天空象棋在Azure上创建一个网站,并且提供用户注册、登陆的功能。涉及以下知识点:

    • 在Azure上创建网站
    • 使用Visual Studio发布自定义网站
    • 使用SQL Server Management Studio连接Azure数据库服务器
    • 为网站提供Membership服务

    创建天空象棋网站

    登陆Azure管理网站,依次点击“+NEW”,“COMPUTE”,“WEB SITE”,“CUSTOM CREATE”菜单。在弹出的网站设置界面中,URL输入skychess,REGION选择East Asia。然后点击CREATE WEBSITE,几分钟内一个网站就建好了。

    访问新创建的网站“http://skychess.azurewebsites.net/”,只有一些预置的提示信息。

    Azure网站的工作模式有免费、共享、基础和标准四种。可在网站的“SCALE”设置页查看工作模式。当前WEB HOLSTING PLAN MODE为“FREE”,即免费模式。

    image

    四种模式的特点简单描述如下:

    • 共享模式:Azure维护了一个虚拟机资源池,所有共享模式的网站都被部署在资源池的虚拟机上,同一台虚拟机可能被多个用户共享使用。共享模式有CPU使用限制,每天不能超过240分钟。该模式价格便宜。
    • 免费模式:免费的共享模式。每个Azure订阅限10个免费模式的网站,并且网站流量每天不能超过165MB,CPU使用时间每天不能超过60分钟。
    • 基本模式:可配置实例大小和实例数量。
    • 标准模式:可配置自动伸缩。

    除了以上CPU、实例、流量的区别,还有自定义域名、SSL、存储、数据库等区别,可参考Azure官方文档。

    使用Visual Studio发布天空象棋

    使用Visual Studio 2013 Update 4创建一个普通的“ASP.NET Web Forms Application”网站,修改一下网站标题等文字内容。

    在skychess的“DASHBOARD”管理页面,点击“Download the publish profile”链接,下载发布配置文件。

    image

    在Visual Studio中选择发布网站,在“发布网页”窗口中点击“导入”并选择刚才下载的发布配置文件。

    image

    导入配置文件后可查看配置信息,直接点击“发布”按钮后即可发布完成。在自动弹出的浏览器窗口中可看到网站首页,发布成功。

    image

    如果现在点击“注册”或“登陆”,网站会报错,因为还没有配置Membership数据库。

    使用SQL Server Management Studio连接Azure数据库服务器

    先到“SQL DATABASES –> SERVERS”页面,通过向导创建一个数据库服务器。为了能使用SQL Server Management Studio连接该Azure数据库服务器,需要为该服务器设置防火墙。

    进入数据库服务器的“CONFIGURE”页面,可以看到当前客户端的IP地址。点击“ADD TO THE ALLOWED IP ADDRESSES”可快速把该IP地址加入允许的IP地址列表。

    image

    打开SQL Server Management Studio(2012 SP2),打开连接到服务器窗口。其中,

    • 服务器名称为“servername.database.windows.net”,servername即创建SQL DATABASE SERVER时随机生成的一串由随机数字或字母组成的服务器名称
    • 登录名为“username@servername”,username为创建服务器时设定的管理员用户名
    • 密码为创建服务器时设定的管理员密码

    image

    点击“连接”按钮后有时会报错,基本信息为某IP地址未加入允许的IP地址列表。虽然前面已经通过配置页面添加了允许的IP地址,但是可能由于代理等原因,配置页面上显示的IP地址未必是客户端最终访问Azure的IP地址。碰到这种情况只需将所提示的IP地址添加到允许访问列表即可。

    连接成功后就可以用大家熟悉的SQL Server Management Studio操作SQL Azure数据库。

    为网站提供Membership服务

    ASP.Net Membership服务是基于一个默认名为aspnetdb的SQL数据库。在以往大家可以用aspnet_regsql.exe创建。由于传统的一些SQL脚本在Azure SQL上并不全部兼容,所以需要使用特定的脚本或工具创建在Azure上使用的Membership服务数据库。

    访问http://support.microsoft.com/kb/2006191可找到更多的相关信息和下载初始化SQL Azure Membership数据库的SQL脚本。

    下载后先运行InstallAzure.sql创建一个空的aspnetdb数据库。然后选择该新建的数据库,再依次运行InstallCommon.sql和InstallMembership.sql脚本。运行完毕后可在aspnetdb数据库中查看脚本创建的表、视图和存储过程等。

    image

    回到Visual Studio进行网站发布,在DefaultConnection中填入aspnetdb的连接字符串,重新发布。

    image

    在网站上尝试注册和登陆,网站工作正常。

    image

    image

  • 相关阅读:
    【bzoj2079】[Poi2010]Guilds 构造结论题
    【bzoj1899】[Zjoi2004]Lunch 午餐 dp
    【bzoj1345】[Baltic2007]序列问题Sequence 单调栈
    【bzoj1047】[HAOI2007]理想的正方形 二维RMQ
    【bzoj1044】[HAOI2008]木棍分割 二分+dp
    【bzoj5037】[Jsoi2014]电信网络 最大权闭合图
    【bzoj5018】[Snoi2017]英雄联盟 背包dp
    【bzoj5020】[THUWC 2017]在美妙的数学王国中畅游 泰勒展开+LCT
    【bzoj2213】[Poi2011]Difference dp
    【bzoj2161】布娃娃 权值线段树
  • 原文地址:https://www.cnblogs.com/xiaoyw/p/4172834.html
Copyright © 2011-2022 走看看