如何在Windows Azure云平台上运行Delphi 6可执行文件(需要教程/样例)?

13

最近我在研究Windows Azure云服务。但是,我遇到的问题是微软的文档非常侧重于Visual Studio。第二个主要的教程/示例来源是基于PHP for Azure环境。这两种情况都不符合我的需求。我有一个很粗略的想法,涉及创建与Azure虚拟机兼容的映像所涉及的配置文件和包,但我不想浪费大量时间,来弄清楚需要获取在端口上等待HTTP请求并返回文档的简单Delphi 6 EXE所需的确切语法/设置,而且不需要IIS帮助。我相信我的应用程序将被归类为提供HTTP端点的Worker Role。

有人能指导我如何做到这一点的简单教程吗?而不牵涉到VS,IIS或PHP for Azure?

如果在这种情况下使用远程桌面访问是可能的,任何关于此的提示/文档也将不胜感激。


我会从使用你选择的组件套件构建的HTTP服务器演示开始。你没有提到你是否打算使用indy、ics、synapse或其他组件套件来制作一个独立的HTTP服务器,但几乎任何一个都可以胜任。 - Warren P
1
你好 @Warren P. 我使用ICS。但我不确定你的评论如何帮助我解决Azure方面的问题,因为这是我唯一需要帮助的地方。我已经拥有一个在我们公司内部网络环境下通过防火墙端口暴露的完全功能版本。现在我需要将该程序移植到Azure平台上。 - Robert Oschler
2个回答

7
如果您想运行自定义可执行文件,据我所知,您有两个选择:
1. 创建Worker角色,并从一些C#代码中“运行”自定义EXE。您可以使用Process.Start运行它。您需要做的事情(或者我们用这个例子做的事情)是在我们的blob存储上有一个可执行文件,在worker角色启动时下载它。不过请注意,底层机器仍然是经典的Windows Server 2008(或R2)机器,因此您可以将东西保存在本地存储器中等。
2. 创建VM角色——我们即将发布一篇关于如何做到这一点的博客文章,但总的来说,您有一个基础镜像;这是一个经典的Windows Server安装,并在云中运行。您可以设置服务等,并在启动时运行服务器。每次提供新实例时,都会部署和启动此VHD的副本。 重要提示:在这两种情况下,您没有状态。这意味着任何日志等都会丢失,如果您不将它们同步到某种永久存储(例如blob存储),就会丢失。
我会选择第一种选项。如果您需要更多信息,请让我知道,我会尽力帮助您。 编辑: 我忘了提到,我们将自定义日志数据存储在VHD挂载驱动器中,该驱动器存储在blob存储上——这使应用程序感觉像是写入标准磁盘。

Vodovnik - 我能否将EXE文件直接包含在应用程序文件夹目录镜像中,而不是使用Blob存储? - Robert Oschler
我认为你可以。我们决定采用BLOB方式,因为我们可能想要更新可执行文件和/或一些额外的文件,而不必进行整个部署。不过这取决于你。 - Anže Vodovnik
好的,谢谢。我目前正在尝试启动VS 2010。出现问题的是,当我运行VS 2010 C# express时,我没有看到云项目模板。我想知道云模板是否只在VS 2010 Pro中,或者是因为我在安装Windows Azure SDK 1.4之后安装了VS 2010 Express。我尝试重新安装Azure SDK,但Web安装程序仅显示已经安装了所有内容。 - Robert Oschler
卸载 SDK 并重新安装吗?p.s.:如果它解决了你的问题,希望您能将此帖标记为答案。 - Anže Vodovnik
在过去的两年中,Azure 的选项有没有发生任何变化? - Darian Miller

1
如果我阅读这个:http://www.microsoft.com/windowsazure/virtualmachines/ 听起来你应该能够创建一个VirtualPC镜像并在其中安装Windows Server 2008 R2和你的应用程序,然后将其上传到Azure云并运行。关于从外部访问HTTP的技术细节,我不确定,因为我没有任何使用Azure平台的经验。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接