【问题标题】:Can I use uncompiled C++ code in ASP.NET web application?我可以在 ASP.NET Web 应用程序中使用未编译的 C++ 代码吗?
【发布时间】:2012-02-25 13:48:01
【问题描述】:

我有一个问题希望你能帮助我。

我创建了 ASP.NET 4.0 Web 应用程序。我还在其他一些应用程序中生成了 .cpp 文件。此 .cpp 文件包含函数,这些函数始终返回相同数量的变量,并且始终采用相同数量的参数。

我需要做的是能够在我的网络应用程序中使用这些功能。

但真正的问题是我需要能够在运行应用程序时替换此功能。我的意思是管理员应该能够登录,上传新的cpp文件,这将用新功能替换旧功能。新的将具有相同的名称、参数和结果编号,但会以不同的方式进行计算。

有什么方法可以实现吗?

感谢您的帮助! 马修W

【问题讨论】:

    标签: c# c++ asp.net .net-4.0


    【解决方案1】:

    将cpp代码预编译成dll并让管理员上传dll。使用 [DllImport("")] 指令从 c# 应用程序引用 dll。

    【讨论】:

      【解决方案2】:

      C++ 需要以某种方式编译。您可以在 ASP.NET 应用程序中使用用 C++ 编写的已编译 dll,但仍需要编译代码才能使 ASP 能够使用它。

      然后可以加载和卸载已编译的 DLL 以适应函数的更改。您甚至可以让 ASP.NET 服务器以某种方式编译该文件,但代码仍然需要可编译为 DLL 以使其可执行。

      【讨论】:

        【解决方案3】:

        您需要通过另一个 dll 公开 C++ 代码。

        第一个选择是 pinvoke。见:

        How to set up a C++ function so that it can be used by p/invoke?

        这里也有介绍: http://msdn.microsoft.com/en-us/library/aa446538.aspx

        从技术上讲,您也可以通过 COM 公开或使用托管 C++ 编写,但如果您只是想公开一些 C++ 函数,那么这些都太过分了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-06
          • 2014-03-21
          • 2011-01-16
          • 1970-01-01
          • 2023-03-25
          相关资源
          最近更新 更多