【发布时间】:2015-01-16 22:46:45
【问题描述】:
我有一个 C# .net dll 脚本,它调用SELECTs 数据的 SQL 存储过程,以便运行相关方法。
我需要使用 PHP 运行 dll,因为我的整个应用程序都是用 PHP 构建的。
最好的方法是什么?
我对 C# 完全没有经验。
编辑
我使用以下方法成功注册了 .net dll:
RegAsm.exe DllName.dll /tlb:DllName.tlb
我现在应该可以使用如下所述的 PHP 的 COM() 方法来调用 dll 的函数/方法。
但是当 .net dll 注册为程序集时,这些函数是否仍可通过 COM() 方法访问?有区别吗?
编辑
注册 .net dll 程序集后,当我尝试使用 COM() 调用方法时收到错误消息:
"PHP Fatal error: Uncaught exception 'com_exception' with message 'Failed
to create COM object `DllName.ClassName': Invalid syntax"
编辑
尝试使用:
new DOTNET('DllName, Version=4.0.30319.33440, Culture=neutral,
PublicTokenKey=14843e0419858c21', 'ClassName');
收到internal server 500 错误
这是因为 PHP 不与 .net 4 程序集通信吗?
【问题讨论】:
-
最好的方法是将查询转换为 PHP 实现。您也可以使用
exec()php 函数,但我认为当前端不是外壳时使用此代码被认为是不好的做法.. -
我对 C# 语言的了解不足以转换为 PHP。这是我的第一个想法哈哈。但脚本对我来说是希腊语,它似乎在调用 c# 函数。
-
C# 脚本是什么意思? C# 被编译成 exe 或 dll。
-
某处,不知何故应该扣掉查询,但是没有源代码,我们无法给出准确的答案……
-
脚本是一个.dll文件