当我收到“请求”时,我必须调用一个复杂的.dll C#库的方法。 由于我不想编写网络部分(套接字,协议等),我正在考虑使用现有的Web服务器(IIS或Apache)来处理这部分(并使用HTTP作为协议)。
必须非常可扩展,.dll库使用 .NET 框架。
当然我在考虑PHP中的exec
函数,但这会为每个请求一次又一次地启动一个C#程序,这不是很好。
我想在内存中加载一次C#.dll,并在可能的情况下直接在Web服务器上运行它,这样当我收到特定的HTTP请求时,只会对方法进行“调用”。
我的问题与this one有相似之处,但我不相信我们的问题是一样的。
答案 0 :(得分:2)
是否可以在内存中加载.dll并从Web服务器调用它的方法?怎么做?
是的,例如,使用WCF或ASP.NET Web API围绕它编写服务层。鉴于SOAP服务和客户端的古怪(至少可以说)互操作,我会选择后者。
然后,您可以通过PHP的cURL或任何其他适用的方法调用您的SOAP / REST / giveitaname服务,然后您的C#服务将调用DLL中的代码(这部分您将不得不构建)。
您可以在IIS中轻松托管这两种类型的项目,使其可以通过HTTP访问。