Требование
Вызов функции C # из классического ASP.
Решение
После нескольких часов исследований я смог вызвать функцию c # из классического asp. Я чувствую, что сделал так много шагов (ниже). Не уверен, что это правильный путь. Требуется экспертное предложение.
Машина для разработки: VS 2010
Рабочий сервер: Windows 2008 с установленной платформой 4
Шаги для создания библиотеки в C # (машина для разработки)
- Создать проект библиотеки классов
Вставил следующий код
с использованием системы;
using System.Collections.Generic;
использование System.Linq;
используя System.Text;
использование System.Runtime.InteropServices;
cominter пространства имен
{
[Guid ( "EAA4976A-45C3-4BC5-BC0B-E474F4C3C83F")]
открытый интерфейс ComClass1Interface
{
тест строки ();
}
[Guid("0D53A3E8-E51A-49C7-944E-E72A2064F938"),
ClassInterface(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public class ComClass1 : ComClass1Interface
{
public string test()
{
return "vivek";
}
}
}
в свойствах-> build, проверьте Регистрация для COM Interop
- в свойствах-> Подпись, проверьте подпись сборки. создал файл ключа
- построил решение
- использовал regasm / regfile для создания regfile
Шаги, выполняемые в Server 2008 (производство) для установки DLL
Скопировал gacutil.exe и gacutil.exe.config с компьютера разработчика C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools \ на сервер C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
запустил файл реестра, созданный с компьютера разработчика
Есть ли лучший способ? Я также не уверен, что все вышеперечисленные шаги являются обязательными. Любое экспертное предложение было бы здорово.
Вопросы
что такое GUID выше имени класса и имени интерфейса. это действительно требуется? Я просто скопировал это из MSDN. если это требуется, я должен создать свой собственный идентификатор или оставить его. есть ли инструмент для создания этого guid
требуется интерфейс. это может работать без интерфейса?
необходимо создать ключ. Когда я установил эту dll в производство, я не копировал файл ключа.
какие файлы нужно скопировать. Я скопировал файл DLL и TLB и запустил gacutil
есть ли лучший способ установки этого ком
Я запустил скрипт реестра. это требуется?