当前位置: 首页 > 编程语言 > C#

使用PHP调用C#.net.dll脚本分享

时间:2023-04-10 20:22:19 C#

使用PHP调用C#.net.dll脚本我有一个C#.netDLL脚本调用一个SQL存储过程SELECT数据来运行相关方法.我需要用PHP运行dll,因为我的整个应用程序都是用PHP构建的。最好的方法是什么?我对C#没有任何经验。编辑我成功注册了.netdll:RegAsm.exeDllName.dll/tlb:DllName.tlb我现在应该可以使用PHP的COM()方法来调用dll的函数/方法。但是,当.netdll注册为程序集时,这些函数是否仍可通过COM()方法访问?这有什么不同吗?编辑注册.netDLL程序集后,当我尝试使用COM()调用该方法时,我收到一条错误消息:“PHP致命错误:未捕获异常‘com_exception’,消息‘无法创建COM对象‘DllName.ClassName’:语法无效”编辑尝试使用:newDOTNET('DllName,Version=4.0.30319.33440,Culture=neutral,PublicTokenKey=14843e0419858c21','ClassName');出现内部服务器500错误,这是因为PHP不能与.net4程序设置通信吗?选项1:使用DLL您可以使用PHP的COM类来调用函数。您需要在Windows上运行PHP,如果您使用的是C#DLL,我假设您是这样。步骤:在命令提示符或“运行”对话框中使用命令regasmyourdllname.dll注册DLL。您的计算机上安装的每个.NET版本都有一个RegAsm.exe,因此请确保通过从%windir%Microsoft.NETAppropriateVersion运行它来执行您的DLL所针对的.NET版本。在PHP中创建一个引用DLL类名的COM对象。调用该函数,它将成为您创建的COM对象的一个??方法。示例:$object=newCOM('MyDllProjectName.MyDllClassName');$object->myMethod();选项2:用PHP重写如前所述,更清晰的跨平台选项是直接在PHP查询中重新实现SQL,尤其是当您使用DLL的唯一原因是运行查询时。直接使用COM有很多注意事项和问题。有一个名为NetPhp的库使用反射来抽象COM,因此您可以毫无问题地从PHP调用任何.dll:http://www.drupalonwindows.com/en/blog/calling-net-framework-and-net-assemblys-php以上就是C#学习教程:用PHP调用C#.net.dll脚本分享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: