Можно ли вызвать функцию в dll VB.Net без регистрации файла dll? Мне нужно вызвать его из ASP Classic на веб-сервере общего хостинга.
Функция вызова в VB.Net DLL без регистрации DLL
Ответы (2)
Единственный способ вызвать VB.NET DLL из классического ASP — сделать его COM-объектом и вызвать его соответствующим образом.
person
John Saunders
schedule
26.01.2011
Извините, я слишком зелен, чтобы понять, что вы подразумеваете под созданием COM-объекта. Это как-то связано с тем, как он запрограммирован или как он установлен? Нужно ли будет регистрироваться на сервере?
- person HK1; 26.01.2011
Да, раньше был способ сделать классические библиотеки DLL WIN32 из Visual Basic 6 (это было запутанно). Увы, я не думаю, что это возможно из VB.NET.
- person Robert Harvey; 26.01.2011
Если вы создаете COM-объект в VB.NET, можете ли вы по-прежнему использовать классы .Net Framework?
- person HK1; 26.01.2011
Итак, ответ на мой первоначальный вопрос: нет, это невозможно.
- person HK1; 26.01.2011
@HK1: Да, верно. Однако ответ на более общий вопрос о том, могу ли я использовать код VB.NET из Classic ASP, — да, просто сделайте его COM-объектом.
- person John Saunders; 26.01.2011
@John: Можно ли использовать созданный таким образом COM-объект на сервере ASP без регистрации COM-объекта на сервере, возможно, с помощью COM без регистрации?
- person Robert Harvey; 26.01.2011
Предполагая, что хост также поддерживает .NET, вы можете выполнить следующие шаги для достижения желаемого:
- Создайте новое веб-приложение ASP.NET
- Добавьте ссылку на эту DLL
- Создайте веб-форму .aspx, которая вызывает функцию в своем вызове Page_Load, например,
Func.aspx
- В классическом ASP используйте XMLHTTP для отправки запроса на
Func.aspx
, тем самым вызывая функцию и анализируя результаты, если это необходимо.
Я делал нечто подобное в прошлом, чтобы изменять размер изображений на лету из классического ASP без стороннего компонента, так что сама концепция работает.
person
Shadow Wizard Wearing Mask V2
schedule
27.01.2011
Отличное решение. Я использую PHP аналогичным образом. Спасибо за эту идею.
- person HK1; 28.01.2011