Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сохранение DLL (C#) в BLOB-поле SQL Server / 7 сообщений из 7, страница 1 из 1
20.03.2012, 23:16
    #37714670
Владимир37
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
Здравствуйте. Есть такая задача: в БД хранится C#-код, на основе которого динамически создается DLL. Я знаю, как сформировать DLL в памяти на основе текстового представления кода. Можно ли эту DLL затем сохранить в БД в BLOB-поле и при необходимости загружать ее для использования? Это для того, чтобы не компилировать код каждый раз заново. Если можно, то подскажите, пожалуйста, как.
...
Рейтинг: 0 / 0
21.03.2012, 10:19
    #37715046
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
Владимир37,

Не понятно. Сборку из исходника вы создали, что мешает бинарный образ сохранить в БД , затем выгрузить из БД в домен и использовать ?
...
Рейтинг: 0 / 0
21.03.2012, 11:23
    #37715198
Владимир37
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
Ken@t,

Я пока пришел к тому, что сборка создается в памяти и параллельно создается файл dll. Затем этот файл как поток байтов можно загрузить в БД. Потом можно выгрузить поток байтов из БД и сохранить в файл dll, который можно загрузить и использовать. Можно все это сделать без создания промежуточного файла? Т.е. скомипированную сборку в памяти сохранить в массив байтов, который потом можно загрузить в БД, а потом из БД превратить поток байтов сразу в сборку в памяти, или только промежуточный файл создавать?
...
Рейтинг: 0 / 0
21.03.2012, 11:38
    #37715257
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
...
Рейтинг: 0 / 0
21.03.2012, 12:36
    #37715449
Владимир37
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
Вобщем остался только одни вопрос: как сохранить в массив байтов скомпилированную в память сборку. (Не нашел я такого метода в классе Assembly, который позволяет это сделать)

Вот так примерно происходит компиляция:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
 string code = "...";

	CSharpCodeProvider comp = new CSharpCodeProvider();
	CompilerParameters cp = new CompilerParameters();
	cp.GenerateExecutable = false;
	cp.GenerateInMemory = true;
			
	CompilerResults cr = comp.CompileAssemblyFromSource(cp, PrepareCode(code));
...
Рейтинг: 0 / 0
21.03.2012, 14:55
    #37715890
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
...
Рейтинг: 0 / 0
22.03.2012, 09:03
    #37717176
Владимир37
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранение DLL (C#) в BLOB-поле SQL Server
Ken@t,

Спасибо.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сохранение DLL (C#) в BLOB-поле SQL Server / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]