首先理解下Web托管角色功能利用这个功能我们创建一个新网站然后将它托管在Windows Azure内。以管理员身份启动Visual Studio 2010创建一个新的Azure云服务项目。选择“云”模板类型的“Windows Azure 云服务”项目模板。将这个新项目命名为“HelloAzure”单击“确定”之后立即弹出一个新的向导。​编辑在这个向导中可以为这个云应用程序创建一些不同类型的角色这样我可以在实际应用程序中安装和配置这些角色。可以看到这里有一些不同的ASP.NET Web角色最上面的是ASP.NET标准Web角色。如果要开发MVC类型的应用程序可以使用MVC 2 Web角色。另外这里还有一个WCF服务Web角色。所有这些角色包括最下面的CGI Web角色都将在标准的Windows Azure Web角色内运行。通过单击右侧即屏幕中央的箭头可以完成上述任务进而在同一个解决方案中添加多个这类项目。这节我介绍Web角色所以我选择“ASP.NET Web 角色”项并单击右箭头移到右侧如果需要还可以选择将其他角色如工作者角色添加到本项目中。请注意实际上您还可以创建多个同样的应用程序。例如如果要在Windows Azure解决方案内托管两个不同的ASP.NET网站我可以选择ASP.NET Web角色之后再次添加这个角色。 现在我只选择一个将Web角色添加到解决方案中。单击项目右侧的编辑按钮将“WebRole1”重命名为“HelloAzure_WebRole”。将鼠标悬停在项目上将会显示编辑按钮。单击“确定”。​编辑在向导运行完毕创建所有文件之后应具有一个包含以下两个项目的解决方案云服务项目作为 ASP.NET Web 应用程序的 Web 角色解决方案资源管理器看起来如下图所示​编辑我们简单修改下Web网页和平常的一样打开Default.aspx并切换到设计视图。打开工具箱并双击“按钮”工具向页面中添加一个按钮。双击页面上的新按钮添加事件处理程序。这就不截图了。修改Azure应用程序的某些配置可以看到云服务项目有一些配置文件一个是ServiceConfiguration文件另一个是ServiceDefinition文件。 例如如果要在两个独立的实例中运行这个Web角色以便扩展Web应用程序。在“解决方案资源管理器”中的“角色”节点下选择一个角色然后右击并选择“属性”。这将显示该Web角色的属性页。使用属性页可以编辑服务定义文件和服务配置文件中的每个角色级别的元素和特性。将实例计数从 1 更改为2。​编辑我在用户界面中进行更改然后保存这些更改。可以看到这样就更改了下面的配置文件。​编辑调试云服务项目选择“调试”-“开始调试”(F5)。如果出现一个错误对话框显示“Windows Azure Tools: Failed to initialize Development Storage service. Unable to start Development Storage. Failed to start Development Storage: the SQL Server instance ‘localhost\SQLExpress’ could not be found.Please configure the SQL Server instance for Development Storage using the ‘DSInit’ utility in the Windows Azure SDK.”错误则需要手动配置开发存储的数据库实例。​编辑打开开始菜单Windows Azure SDK v1.2目录的Windows Azure SDK Command Prompt。键入“DSInit /sqlinstance:.”即配置开发存储的数据库实例。​编辑如果是第一次使用开发存储则将显示开发存储初始化对话框​编辑初始化完成之后单击“确定”关闭对话框。浏览器将自动启动并指向您的网站。完整地址将类似于 http://127.0.0.1:81/default.aspx。当单击按钮时这时会命中在调试器中设置的断点。我可以像以前一样调试。将鼠标悬停在标签的实际文本属性上可以看到属性值的设置正确无误。 我可以像以前一样执行所有的标准调试任务例如我可以按F10和F11来单步执行和逐过程执行代码开发体验和以往并无不同。​编辑​编辑请注意所有的这些都托管在本地工作站的虚拟Windows Azure云基础结构中并且采用了称为“开发结构用户界面”和“开发存储用户界面”的形式系统任务栏中提供一个Windows Azure图标您可以通过此图标显示Development Fabric用户界面和开发存储用户界面或者关闭这些服务。我们可以打开这些用户界面看看你这些服务时如何运行的。当然存储基础结构模拟的是Windows Azure存储服务开发结构功能则代表最终在云中部署后要运行的Web角色功能和工作者角色功能。​编辑现在加载开发结构用户界面单击“Show Development Fabric UI”Development Fabric实用工具将出现。您可以使用此实用工具来管理本地开发并查看这些开发的日志数据。​编辑可以看到左侧是工作站中运行所有的Windows Azure开发基础结构或项目的预览。 在这里只有一个项目它的ID是4右侧是这个Web应用程序以及在这个服务中运行的所有其他Web应用程序的详细信息。可以看到这里只有一项。另外请注意从这里可以看出部署到云中后最终配置将从默认端口80运行。 不过为了进行本地部署已对它进行映射在这里是映射至端口81和之前浏览器窗口中显示的一样。然后我们看部署的每个Web角色和工作者角色的详细信息。我们可以看到有两个独立的WebRole控制台一个是“0”一个是“1”。这是因为他们被当做两个独立的实例在本地工作站中运行。 两个实例的旁边都有一个绿色小圆圈说明他们的运行和加载都是成功的。 每个控制台内显示的具体详细信息这些信息十分详尽所有组成部分都紧密相连保证了实际角色在计算机中的正确运行。如果出现需要解决的问题可以利用这些信息来排除故障。如果需要输出跟踪信息也可以在这里显示这些信息。​编辑如果您正在使用开发存储服务则可以右击 Windows Azure 任务栏图标并选择“Show Development Storage UI”以显示下面的对话框该对话框将使您能够控制正在运行的存储服务并重置所有数据。​编辑好一切运行正常我们有了一个本地运行的Windows Azure云应用程序。接下来可以继续进行开发或调试等等工作本地开发体验相当完善。不过在应用程序运行之后现在需要将它实际部署到Windows Azure云中 这样就可以与能够访问实际云的用户共享我的应用程序。发布云服务项目右击“云服务”项目节点并选择“发布”将这个应用程序发布到云中。​编辑从“发布云服务”对话框中这里有两个选项可以将服务包直接部署到 Windows Azure中。也可以选择生成服务包并通过开发人员门户网站自己上载它。在这里我选择仅创建服务包单击“确定”按钮。​编辑这样应用程序的应用程序文件便打成了包然后会启动一个新的Windows资源管理器窗口显示创建的文件。可以看到最上面的是一个“CS Package”类型的文件“HelloCloud”这就是实际的云服务应用程序这个文件有点大。第二个文件是整个应用程序的配置文件。Windows Azure根据这个文件进行实际配置如每个角色需要运行的实例数、角色需要的配置方式等等。​编辑上传云服务项目这时使用账号登录Windows Azure开发人员门户网站网址为http://windows.azure.com/创建一个新项目然后部署这些文件。点击我的项目中的项目名称​编辑出现Window Azure概况页可以看到当前没有任何服务我们点击“New Service”创建一个新的Windows Azure服务。​编辑在创建服务页面中我可以选择创建“Storage Account”存储账户还是“Hosted Services”托管服务。我们选择托管服务这是因为我们有一个需要托管的ASP.NET网站。​编辑接下来为新服务填写有意义的标签和描述以便以后区分。点击“Next”(下一步)完成服务的创建。​编辑然后进行最后的一些设置工作。首先需要为它提供一个公共托管的URL用来访问这个Web应用程序。不过因为这是一个共享服务其他人可能选用过类似的名称。 因此需要执行“check availablity”(检查可用性)执行可用性检查确保名称可用。接下来需要选择将Windows Azure应用程序托管在哪个数据中心或地区可以在整个清单中选择比如说我选择“东亚”。如果有多个应用程序例如需要相互交流数据信息的Windows Azure应用程序与SQL Azure数据库就可以使用本页面底部的相关性组确保这些应用程序位于同一个数据中心内。完成这一段设置之后最后一个步骤是单击“Create”(创建)按钮创建可以部署应用程序的最终基础结构。​编辑创建需要几分钟的时间可以看到这个服务的名称以及刚才输入的描述都显示出来了在下面的“Hosted Service”(托管服务)中可以选择是将应用程序部署在“Production”(生产)还是“Staging”分段环境中。这个两个选项都可以选择我也可以在两者之间方便的切换因此可以在生产环境和分段环境之间轻松转移应用程序和部署。不过现在我不选择分段环境而是直接选择生产环境以便直接查看实际托管的应用程序。我们直接开始部署单击“Deploy...”(部署)按钮。​编辑这时会出现一个新窗体在这个窗体中上传实际的应用程序文件和整个应用程序的配置文件。操作系统选择默认设置填写部署标签。单击“Deloy”(部署)按钮。​编辑系统上传应用程序文件和配置文件将这些文件放到Windows Azure中确定以最佳方式部署应用程序,这一过程需要持续5到10分钟。完成这一步骤后可以将应用程序实际投入运行因为现在它处于一个类似于“暂停状态”的最后阶段。如果停止运行也会出现这个状态这个状态执行其它设置步骤或升级一个已经投入运行的应用程序。不过现在我们单击“Run”(运行)。​编辑可以看到应用程序已经部署到虚拟环境中正在启动这些虚拟环境。这时有一个很小的黄色状态指示器说明Web角色正在初始化状态。​编辑屏幕进行自动刷新可以看到从“Initializing”正在初始化状态变成了“Busy”(忙)。最后变成了绿色状态只有当状态图标变为绿色状态变成“Ready”就绪的时候说明已经完成部署并且在Windows Azure中投入运行。​编辑我们可以通过URL访问这个云服务了。​编辑好了我从头到尾体验了一下Windows Azure云应用程序。使用VS工具进行开发和以前使用的本地化开发结构环境一样我们可以执行本地调试等任务。最后一切准备就绪之后通过简单的步骤将应用程序部署到Microsoft Windows Azure云服务中。分类: .NET4标签: Windows Azure Platform免责声明本内容来自平台创作者博客园系信息发布平台仅提供信息存储空间服务。好文要顶 关注我 收藏该文 微信分享​编辑李永京粉丝 - 3269 关注 - 56推荐博客加关注200升级成为会员« 上一篇 Silverlight的未来[译文]» 下一篇 Windows Azure Platform体验(2)SQL Azureposted 2010-11-15 08:42 李永京 阅读(15024) 评论(27) 收藏 举报刷新页面返回顶部