web和C#.dll之间的交互

本文关键字:交互 之间 dll web | 更新日期: 2023-09-27 18:22:03

当我收到一个"请求"时,我必须调用一个复杂的.dll C#库的方法。由于我不想对网络部分(套接字、协议等)进行编程,我正在考虑使用现有的Web服务器(IIS或Apache)来处理这部分(并使用HTTP作为协议)。

  1. 是否可以在内存中加载.dll并从web服务器调用其方法如何
  2. 如果是,在Windows、Apache或Windows上使用IIS,还是在Linux上使用Apache更好
  3. 是否必须使用C#/ASP调用C#.dll的此方法?或者可以使用PHP

它必须具有非常可伸缩性,并且.dll库使用.NET框架。

当然,我想到的是PHP中的exec函数,但这会为每个请求一次又一次地启动一个C#程序,这不是很好。我想在内存中加载一次C#.dll,如果可能的话,让它直接在web服务器上运行,这样只有当我收到特定的HTTP请求时才会对方法进行"调用"。

我的问题和这个有相似之处,但我认为我们的问题不一样。

web和C#.dll之间的交互

是否可以在内存中加载.dll并从web服务器调用其方法?怎么做?

是的,例如,通过使用WCF或ASP.NET Web API围绕服务层编程。考虑到SOAP服务和客户端的交互操作很奇怪(至少可以这么说),我会选择后者。

然后,您可以通过PHP的cURL或任何其他适用的方法调用SOAP/REST/giveitaname服务,然后您的C#服务将调用DLL中的代码(您必须构建这一部分)。

您可以在IIS中轻松地托管这两种类型的项目,使其可以通过HTTP进行访问。