在Azure或亚马逊上托管控制台应用程序,是否可能?

我想知道是否可以在Windows Azure上将控制台应用程序写入端口

控制台应用程序没有接口,它只是在不通知用户正在做什么的情况下完成其工作。 在这种情况下,它将是一个套接字应用程序。

我不希望它成为一个网站。 它不会是项目的任何补充。

编辑:谢谢大家这么快回复我。 现在我得到了我一直在寻找的答案。 现在我的问题是: 它会在亚马逊上被称为什么? 它是Azure上的工作者角色…现在我知道感谢大家

您无法在Azure或任何其他云中直接托管控制台应用程序。 正如Ghyath所说,在Azure的情况下你必须使用worker角色。

看一下这个示例,演示如何将控制台应用程序转换为windows azure中的辅助角色。 请参见Task1。

您绝对可以在Windows Azure中运行控制台应用程序,无论是Web角色还是辅助角色(Windows Server 2012或2008 R2 / SP2),您通常可以不修改地运行它们。 你需要:

  • 提供控制台应用程序的二进制文件或安装程序,以及任何其他支持DLL。 您可以将它们作为部署的一部分或将它们存储在Blob存储中,并在VM启动时在本地复制它们。
  • 为控制台应用正在侦听的tcp / http / https端口配置输入端点
  • 处理stdout / stderr输出
  • 为控制台应用程序所需的临时文件/缓存/等配置本地存储
  • OnStart() (首选位置,在VM实例放置在负载平衡器之前调用)或Run()启动控制台应用程序。

您需要考虑当有多个VM实例时控制台应用程序如何运行。 您的控制台应用程序的两个实例可以同时运行吗? 如果没有,您需要在启动控制台应用程序可执行文件之前设置互斥检查。

Steve Marx最近发表了关于在Windows Azure中运行Mongoose Web Server的博客 (Mongoose是一个基于C ++的控制台应用程序)。 所有代码都在github上的PackAndDeploy项目中,所以你可以看看他是如何设置的。

编辑7/27/2013这个答案有点过时了。 您还可以在Windows或Linux虚拟机中运行控制台应用程序。 现在,您已将Windows Server 2012作为Web /辅助角色实例的操作系统选择。

在亚马逊上,没有“工作者角色”和相关的超级简单部署。 您只需部署控制台应用程序,然后手动或通过计划任务在EC2实例上启动它。 如果您的应用必须无人值守运行且没有登录用户,那么您必须依赖部署在AWS EC2上的Windows服务。

您可以在Windows Azure中使用辅助角色。 输出可以写入某些监视器 。

您无法托管控制台应用程序,您可以使用名为Worker Role的东西。