在几分钟内轻松地将您的LightSwitch应用程序部署到Azure网站

[原文发表地址]  Easily Deploy Your LightSwitch Apps to Azure Websites in Minutes

[原文发表时间] 2012-10-18 15:49

作为我在最近的所有会议中演示准备的一部分,我一直在将我的 LightSwitch应用程序部署到Azure 网站,我可以诚实地说,它是目前为止最简单的方式来启动和运行 LightSwitch 应用程序。如果您想要一个像我在这些部署博文中所展示的纯粹的内部商务应用程序的话,当然您可以始终手动设置您自己的服务器、 数据库和网络。然而,当部署失败时,这总是很难解决哪儿出错了,因为每个人的环境是有一点点不同。Azure 网站的不错的事情就是无需为环境困扰,并已为您准备好来部署LightSwitch应用程序。

在这篇文章中,我将详细地分步介绍如何部署一个LightSwitch 应用程序到Azure网站。但是首先,您可能在想到底什么是Azure网站,它和云服务之间的区别是什么?LightSwitch 应用程序可以通过Publishing Wizard(发布向导)部署到这两者,但您为什么选择这个而不选择另一个呢?

Azure 云服务提供预留的、 无限可扩展的、 n 层选项,并作为一个服务 (Paas) 运行在一个平台上。Azure 网站用于快速而简单的 web 应用程序和服务部署。您可以免费开始,然后根据需要来扩展。因此,如果您不需要Azure 云服务提供的其他服务 ,如缓存,blob 存储,CDN等,而且您只有一个 LightSwitch应用程序需要部署,那么Azure网站就是合适的选择。

如果您对部署到云服务感兴趣,请参阅Andrew &Brian的博文:使用Visual Studio 2012发布 LightSwitch 应用程序到Azure

步骤 1 构建您的应用程序

当然我们需要一个应用程序来部署;-)所以在这篇文章中,我将使用样本库中的Contoso Construction示例。这是一个不错的高级示例,它使用了外部数据源和一些扩展,所以它是现实世界中典型的 LightSwitch 应用程序的好例子。

我想将应用程序作为一个桌面客户端,将服务和SQL 数据库托管在Azure中。Azure网站对于这个可以说是很完美。因为 LightSwitch 应用程序的桌面客户端只是一个Silverlight应用程序,它们是相同类型的托管 ;XAP 文件位于web 服务器上,当用户导航到一个 URL 时,它将被自动安装到Windows 开始菜单中,就像任何其他程序一样。为什么我们需要将此作为一个桌面应用程序部署呢?因为通过使用Office 集成包扩展,我们在在此示例中做了许多Office自动化,因此我们需要作为 一个完全信任的Windows 应用程序而运行。Silverlight 让我们易于 web 部署,提供了运行完全信任的外嵌浏览器的好处。

image

步骤2: 注册Azure网站

在您发布到Azure网站之前,您需要注册。一旦注册并创建一个订阅后,您将可以访问您自己的门户网站。从门户网站那里,然后您可以在一个地方管理您的所有云服务、 网站和数据库。

步骤 3 创建一个新的网站和数据库

一旦打开您的门户网站之后,选择 WEB SITES选项卡,点击NEW(新建)。

image

所有 的LightSwitch 应用程序都需要一个 SQL 数据库,因此通过选择该选项,确保您为您的新网站创建一个相应的数据库。

image

下一步,指定您的网站的名称和位置。请确保选择一个靠近大多数用户的位置。

image

接下来创建您的数据库服务器 (如果这不是您首次创建,您可以选择一个已有的服务器)。请确保数据库服务器在同一区域,那样您的网站可以获得最佳性能。

image

点击OK,您的网站和数据库将被创建好了。最后,为了从 Visual Studio中发布数据库,您将需要通过添加一个管理证书来确保数据库服务器信任您的计算机。这样做的最简单的方法是在门户网站中选择该数据库,然后点击底部的MANAGE(管理)。这将提示您自动创建一个证书,如果您需要的话。

image

步骤 4 :发布

在 Visual Studio 中,请确保将您的配置设置为Release,然后右击您的项目,然后从菜单中选择Publish(发布)。您也可以转至Project Properties(项目属性)- Application Type(应用程序类型)部分,然后点击Publish(发布)按钮以启动发布向导。(如果您的配置没有设置为Release,那么发布向导将出现一个警告。)

image

您被问到的第一个问题是您要发布什么类型的应用程序。在我们的例子中,我们想要选择" Desktop(桌面)"。但是请注意,您还可以部署您的应用程序作为一个浏览器应用程序以及只是作为服务 (中间层)。如果您有外部的OData 客户端访问您的服务,部署为服务是有意义的。LightSwitch OData 服务通常需要发布,但您可以通过此对话框选择是否发布 LightSwitch 客户端。

image

接下来,您需要指定要部署应用程序的位置。您可以以多种方式部署一个 LightSwitch 应用程序。您可以将它部署为一个简单的两层 (传统的客户端数据库服务器)应用程序,或者您可以部署为可扩展的 n 层体系结构,在这种情况下,您可以选择部署到 IIS web 服务器或 Windows Azure。在我们的例子中,我们将选择 Windows Azure。

image

下一步,您需要指定您的Azure的订阅信息。只需点击链接来登录,以此下载您的凭据。然后单击Import(导入)来将它们加载到 LightSwitch 发布向导中。一旦您这样做了,您为订阅所做的设置将被加载,并被自动选择。(我的 Azure 订阅名称是" Demo Projects ")

image

接下来,我们需要指定服务类型。在这里,我们可以选择部署到 Azure 云服务或Azure网站。选择网站并点击next(下一步)。

image

接下来,我们需要指定我们想要发布到的网站。这就是您在门户网站中所指定的相同网站。

image

接下来,我们需要指定安全设置,这有多个部分。首先,如果您已在应用程序中指定使用验证,您将需要指定能够首次访问该应用程序的应用程序管理员。此用户负责将用户添加到角色中,以此设置访问权限。(有关LightSwitch 访问控制的详细信息,请参阅: LightSwitch应用程序的安全访问)。至于Contoso Construction应用程序,它使用Forms验证,所以在这里,我需要指定应用程序管理员。

image

您会注意到此向导中Security Settings(安全设置)部分中的其他两个选项卡。HTTPS 选项卡指定是否流量应通过一个安全的SSL通道发送。强烈建议您在中间层的 LightSwitch 数据服务和访问它们的任意客户端之间设置安全通信。否则恶意用户可以监听网络通信,以及查看从客户端传输到服务的数据。幸运的是,Azure网站可以被设置来处理HTTPS 通信,所以选择该选项。

image

在安全设置的最后一个选项卡上,您为您的客户端桌面应用程序指定一个数字签名。只有在这种情况下你才需要用到它:

  • 您要发布一个桌面应用程序
  • 您想要能够自动将更新发布给桌面用户

如果您对桌面应用程序不指定一个数字签名,当您更新应用程序时,那么用户在使用它之前,必须卸载并重新安装该应用程序。一般来说,指定数字签名是一个不错的主意,那样用户在安装时可以看到一个信任提示。您应该使用来自受信任的证书所授权的数字签名,如 VeriSign。然而,您还可以创建内部证书,然后将它们安装到客户端计算机上的受信任的根证书存储中[Internet Options( Internet选项) — — Certificates(证书)]。这是用于测试或内部的应用程序的一个不错选择。对于此示例,我已经创建了一个测试证书,并将它安装到我受信任的根存储中,因此我可以在这里选择它。

image

接下来,我们需要验证到我们的数据库和任意外部数据源之间的连接 (如果有的话)。当我们在门户中为我们的网站创建一个对应的数据库时,数据库信息会保存在发布向导中。请确保勾选"Publish database schema(发布数据库架构)",以便创建数据库。

image

如果您使用任意外部数据源,如 OData 服务或其他外部数据库,这将出现一个Attached Data Sources(连接数据源)选项卡。您可以在这里验证那些连接。Consotso Construction应用程序使用了一个来自Windows Azure Marketplace 的OData 服务,其中包含免费的 (以及付费的) 数据集,您可以使用它们来增强您的 LightSwitch 应用程序。

image

最后,将显示一个摘要页面。单击Finish(结束),您的应用程序在2 到 3 分钟内将被部署到 Azure 网站。

image

您可以在 Visual Studio 中的Output(输出)窗口中看到部署进度。它应该是相当快速的,我从来没有见过它为我的应用程序花费超过 2 分钟。一旦完成之后,将打开门户网站,您可以输入您创建的URL来启动应用程序,您可以在门户网站找到网站的入口。

image

在桌面应用程序中,它将提示用户来安装应用程序,就像这样。

image

一旦您安装该应用程序之后,它将自动启动。用户也可以在任何时候从开始菜单中重新启动它。在桌面上还会放置一个图标。您可以通过添加/删除程序来卸载它,就像任意其他应用程序一样。此外,如果您进行更改,然后重新发布到 Azure,下一次用户启动应用程序时,它将自动更新,用户只需重新打开它。

当然,你也可以以完全相同的方式在 Azure 中托管内嵌浏览器的应用程序。在这种情况下,当用户想要使用应用程序时,他们可以使用最喜欢的浏览器导航至该URL。此外请记住,内嵌浏览器的应用程序不能以完全信任的方式运行,所以您不能像此示例一样来做COM自动化。

我希望此文向您展示了使用 Azure 网站托管 LightSwitch 应用程序是多么的简单。LightSwitch使得开发商务应用程序变得超级快速和简单,现在有了Azure网站,它们可以更快地部署。详细信息请参阅Visual Studio LightSwitch 开发人员中心Windows Azure 网站

希望大家喜欢!