c# - 如何使用 Windows Azure 将 Web 表单的输入接收到我的控制台应用程序?

标签 c# .net azure webforms

我有一个控制台应用程序,希望托管在 Microsoft Azure 上。我设计了一个 Web 表单,供用户提交控制台应用程序运行所需的两个输入。

如何将每个输入获取到控制台应用程序,以便每次有人提交 Web 表单时,我的控制台应用程序都会使用这些输入在后台运行,作为返回,控制台应用程序将它们发送回 .txt 文件中的输出,或者直接返回网页表单吗?

我需要哪些 Microsoft Azure 服务才能完成此任务?

最佳答案

总结评论中的详细信息,一种方法是将控制台应用程序抽象到类库中,以便可以在控制台和 Web 表单应用程序中使用输出 DLL。尝试从 Web 应用程序运行控制台应用程序通常存在安全风险,因为它需要提升操作系统的权限,而操作系统通常最好不要使用。

要在 Web 表单中使用此 DLL,通常需要将该 DLL 添加为对 Web 表单项目的引用。正如您所提到的,由于您不直接使用 Visual Studio,因此您应该能够将 DLL 放入 Web 表单应用程序的“bin”目录中。只要您使用正确的命名空间/声明,您的后台代码就应该可以工作。

从长远来看,如果您的逻辑复杂且耗时,您开始看到等待响应超时,您可以考虑异步消息传递模式,例如 RPC:

  1. 后面的 Web 表单代码将请求作为仅包含用户输入和相关 ID 的序列化请求提交到出站队列(例如 Azure 中的服务总线)。
  2. 单独的 Web 应用程序(例如 Azure 中充当辅助角色的云服务)将监视服务总线,然后将结果发布到具有相关 ID 的入站队列上。如果此响应是一个大文件或内容,您可以考虑创建该文件(例如 Azure Blob 存储或 AWS S3,但仅持续很短时间)并仅返回引用该文件而不是文件的响应。
  3. 网络表单将定期轮询入站队列以获取相关 ID,并为用户提供详细信息。

关于c# - 如何使用 Windows Azure 将 Web 表单的输入接收到我的控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575433/

相关文章:

c# - REST 服务和大文件

azure - 将 DNS 从 Azure DNS 转移到不同的注册商

c# - 如何在 Microsoft.CppBuild.targets 中抑制类型为 "The Element X in namespace X has invalid child element ..."的警告

c# - C#测试Socket是否连接

c# - 将 Azure Blob 容器中的 file.bacpac 导入到 Azure SQL 数据库

azure - 是否可以在不使用 Visual Studio 的情况下从 TFS Azure 下载源树?

azure - 使用 powershell 将 Azure Key Vault 证书导入到应用服务?

c# - 表单 DataGridView 缺少 OnRowDataBound?

c# - 如何将 TabPage 的标题文本设为粗体?

c# - 正则表达式在测试器中有效,但在我的代码中无效