Мне нужно создать объект com для моего классического asp, так как я могу создать сборку .net и получить его «взаимодействие» с com, поэтому я приступил к созданию сборки .net следующим образом: -
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Web;
namespace LMS
{
[ComVisible(true)]
public class Calc
{
public int Add(int val1, int val2, out string[] outputz)
{
int total = val1 + val2;
outputz = new string[5];
outputz[1] = "test2";
outputz[2] = "test3";
outputz[3] = "test4";
outputz[4] = "test5";
return total;
}
}
}
Далее я сделал обычное, собрал, запустил: gacutil & RegAsm
и на моей классической странице asp у меня было это: -
Dim params
dim objPassport3
set objPassport3 = Server.CreateObject("LMS.Calc")
comTest2 = objPassport3.Add(1,1,params)
и я получаю ошибку:
Тип ошибки:
Среда выполнения Microsoft VBScript (0x800A0005)
Недопустимый вызов процедуры или аргумент: «Добавить»
/eduservice/test.asp, строка 25
Но если я изменяю сборку, чтобы не использовать массив, все это просто работает, я даже могу отправить обычную строку или int в и из сборки в классический asp.
Я прочитал так много вещей, но я получаю ту же ошибку,
кто-нибудь пробовал это раньше и был успешным, пожалуйста, поделитесь своим решением
спасибо