【问题标题】:C# Class Library or Web APIC# 类库或 Web API
【发布时间】:2020-04-14 01:04:45
【问题描述】:

我有一个与 AS400 后端系统对话的 ASP.NET MVC 5 Web 应用程序。 我通过 IBM iSeries Client Access Library 调用了 AS400 程序

哪种方式是正确的

a) 通过我的 Web 应用程序创建具有所有功能和引用的类库或

b) 创建一个 Web API,引用类库并将其托管到 IIS

我认为这是一个更好的解决方案,因为它将在 IIS 的另一个应用程序中,而不是在与第一种方法相同的进程中。我会更加异步。我是对的?

【问题讨论】:

  • 我认为这没有正确的答案,因为它们都是很好的解决方案。需要看两者的利弊并做出决定。您有什么要求,比如它需要非常快?

标签: c# asp.net-mvc asp.net-web-api


【解决方案1】:

我在同一个系统(as400 和 .net)中同时使用了 a 和 b,但用于不同的情况。如果您想将 as400 事物与您的应用程序隔离开来,请使用 web api(b)。这将为您提供更大的工作灵活性(保持明智)。如果你有很多功能要处理,这种方式很好。这也会让你的生活变得复杂。就像安全...

我用的是案例a,当我只需要通过as400登录和其他一些事情时。

与其他应用程序的可用性

a) 您可以将该 dll 引用到许多其他应用程序(仅限 .net)

b) 您几乎可以将 api 用于任何类型的应用程序

【讨论】:

  • 如果我采用解决方案 b 是否会更加异步?因为它在 IIS 中的新应用程序中,并且客户端可以通过异步 http API 而不是类库来使用它,所以它将与我的 Web 应用程序在同一个进程中
  • 如果您唯一关心的是异步,那么您也可以使用 a 来实现。还有一件事,iseries 是否支持异步调用(不确定)???
  • 不,不支持。但我认为通过另一个 IIS 应用程序主机中的 Web API 和异步 c# http 客户端可以存档
  • 如果不支持,我认为你不能实现异步。它会发出警告,例如“此方法缺少异步调用”。
猜你喜欢
  • 1970-01-01
  • 2013-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多