Передать строку со страницы ASP (используя vbscript) в функцию C # DLL в качестве входного параметра - PullRequest
2 голосов
/ 05 марта 2010

Я пытаюсь добиться этого, но это не работает. Я уверен, что что-то упустил, пожалуйста, помогите мне, где я не прав. Я надеюсь, что это достижимо. Мы должны иметь возможность передать строку из ASP Page (используя vbscript) в c # dll (сохранить эту dll в gac, и я уже зарегистрировал ее с помощью утилиты regasm).

Ниже мой код:

Function GetObj()
Set Obj = Server.CreateObject("namespace.classname")

Set inputStr = Nothing
inputStr = "myString"

Set GetObj = Obj.dotnetMethod(inputStr)
SET Obj = NOTHING
End Function

Проблема, с которой я сталкиваюсь, заключается в том, что когда я передаю inputStr в obj.dotnetMethod, он не распознает строку, которую я передаю со страницы asp, и не возвращает мне никакого результата, который должен.

Ответы [ 2 ]

0 голосов
/ 06 марта 2010

Я могу предположить, что в некоторых случаях может произойти сбой (ваш вопрос действительно нуждается в более подробной информации)

Set GetObj = Obj.dotnetMethod(inputStr)
  • dotnetMethod возвращает String, DateTime или тип примитива, такой как Int32, и в этом случае вам следует удалить ключевое слово Set.
  • dotnetMethod возвращает объект, который не является самим ComVisible.

КСТАТИ

Set inputStr = Nothing
inputStr = "myString"

Зачем устанавливать для inputStr значение Nothing, а затем присваивать ему строку ??

0 голосов
/ 05 марта 2010

Может быть проблема с Unicode - .Net ожидает Unicode-строки. ASP, я полагаю, не делает.

Но если вы даже не уверены, что метод зарегистрирован, тогда вам нужно убедиться, что dll является видимым для COM. ASP - это мир, который ничего не знает об управляемом коде или .Net. Вы должны использовать COM. Вы знаете, regsvr32 старой школы, или ASP не найдет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...