C# 用于处理数据操作的服务器

C# 用于处理数据操作的服务器,c#,sql,sql-server,asp.net-mvc,C#,Sql,Sql Server,Asp.net Mvc,我目前已经构建了一个应用程序,我在其中处理产品、帐户、订单等 有两个数据库,一个是我创建的数据库,我在其中处理用户和角色以及一些小的特定于应用程序的数据。另一个数据库是外部数据库,它保存有关订单、产品和帐户的所有数据 我想弄明白的是:如何构建一个与主应用程序并行运行并使用外部数据库处理所有数据操作的服务器 让我们假设一种情况,在这种情况下,这将是有益的:有一个excel文件必须根据大量数据创建,然后它必须以某种类型的格式存储在externalDB中,并作为电子邮件发送给某人。这肯定会使主应用程序

我目前已经构建了一个应用程序,我在其中处理产品、帐户、订单等

有两个数据库,一个是我创建的数据库,我在其中处理用户和角色以及一些小的特定于应用程序的数据。另一个数据库是外部数据库,它保存有关订单、产品和帐户的所有数据

我想弄明白的是:如何构建一个与主应用程序并行运行并使用外部数据库处理所有数据操作的服务器

让我们假设一种情况,在这种情况下,这将是有益的:有一个excel文件必须根据大量数据创建,然后它必须以某种类型的格式存储在externalDB中,并作为电子邮件发送给某人。这肯定会使主应用程序的主线程过载,因此我们不希望出现这种情况。因此,在用户的视野之外处理这些情况将是一个好主意


我正在使用ASP.NETMVC5,我很好奇,对于这种情况,什么是一种好的方法?我在想我应该制作一个控制台应用程序,它作为一个服务工作。

您可以创建一个服务架构,让服务通过控制器相互通信。这些可以将数据推回到主应用程序视图,或者视图可以请求从服务推送数据

如果希望在发送电子邮件的服务器上运行作业等,可以轻松创建SQL作业或SSIS作业,甚至可以创建自定义服务作业,这些作业基于与主视图(其中视图是用户与之交互的主应用程序)分开的条件执行

服务本身可以配置一个轻用户界面,您可以在服务器上调用该界面,可以在服务托盘中调用,也可以通过Windows的服务组件调用

SOA架构

微服务体系结构


希望有帮助。祝你好运

做这类事情有很多方法。

如果您的应用程序是针对Android或iOS设备的,通常的做法是运行一个外部服务器,处理密集的处理,包括管理excel数据、发送电子邮件和数据库通信。

如果您的应用程序是跨平台桌面应用程序或特定于操作系统的桌面应用程序,您仍然可以使用外部服务器,尽管处理的某些其他部分可能在客户端计算机上完成。

通过使用web服务处理数据库通信,它使应用程序在硬编码数据库连接信息、SMTP服务器凭据等方面更加安全。

使用RESTful web服务意味着您遵守了超文本传输协议(),在大多数情况下,它非常适合交换数据。

使用充当TCP客户端服务器的控制台应用程序,您可以使用传输控制协议()以不同的方式进行通信。如果愿意,您可以以自定义格式传递数据。您将能够创建一个应用程序需要遵守的通信标准。

控制台应用程序将执行与web服务相同的处理,但是您将完全控制日志记录请求、响应和数据传输