从 Web UI 中的 VBScript 函数调用 C# 函数
本文关键字:函数调用 函数 VBScript 中的 Web UI | 更新日期: 2023-09-27 18:33:02
我需要从 Azure 网站托管上的 VBScript 函数(或合适的解决方法)中调用或至少将参数传递到 C# 函数Microsoft即:
Function VBScriptFnc(param_1, param_2, param_3)
Dim flag;
flag = 1
'call the C# function or somehow pass parameters into C# function'
csharpFunction(param_1, param_2, param_3)
VBScriptFnc = flag
End Function
VBScript 有 5 个窗口进入 .NET 世界:
- 通过对某种类型的.NET处理程序(例如.aspx,HTTP处理程序,MVC或WebAPI控制器)执行HTTP POST/GET操作。
- 将数据写入文件或数据库,以便 .NET 进程选取。
- 通过将 .NET 程序集(类库)公开为 COM 对象并在 Windows 注册表中添加相应的条目(手动或使用命令实用程序),以便可以直接从 VBScript 调用它。请参阅此文章。
- 使用 .NET 创建直接从 VBScript 运行的可执行文件。 使用 PowerShell 调用
- .NET 程序集,并使用 VBScript 调用 PowerShell。
网站上最直接的选择是使用 GET 或 POST,因为您将避开 ACL 和 COM 注册的雷区,但如果您必须走另一条路,我会说 PowerShell 是您最好的选择,其次是 COM 互操作作为第三选择。
您需要通过将 COMVisibleAttribute 设置为 true 来将程序集标记为 COM 可见(如果只想公开单个类型,则可以在程序集级别或在类级别)。
接下来,您将它注册到:
regasm /codebase MyAssembly.dll
最后从 VBScript 调用它:
dim myObj
Set myObj = CreateObject("MyNamespace.MyObject")
这个答案最初由达林·季米特洛夫发布在这里。