2013-10-25 3 views
0

Простыми словами я хочу написать класс для шифрования/дешифрования, который будет использоваться различными веб-приложениями на одном сервере. Кроме того, все методы этого класса также являются статическими.Как поделиться одним статическим кодом класса между различными приложениями

Я положил созданную dll в GAC. Однако кажется, что каждое приложение создает свой собственный объект шифрования в памяти.

Есть ли способ иметь только один экземпляр этого класса ради производительности и использования памяти?

Thanks

+3

С уважением .. насколько большой размер ваших программ шифрования уходит? Вы подтвердили, что это проблема? –

ответ

1

Вы действительно подтвердили, что это проблема? Это было бы удивительно.

Но нет, строго говоря, вы не можете делиться экземпляром (или статическим классом) между приложениями - вы не можете делиться одним файлом через AppDomain s в одном приложении (в конечном итоге вы используете прокси-объект). Чтобы выполнить то, что вы хотите, вам придется использовать некоторую архитектуру клиент-сервер, что почти наверняка приведет к увеличению накладных расходов, чем сама система шифрования.

1

No, вы не можете создать одноэлементные процессы.

Вместо этого вы можете создать свой собственный процесс (например, службу Windows или демон в * NIX-мирах), которые другие используют. Для связи между процессами (RPC) существуют различные методы, такие как: именованные каналы, сокеты (и выше протоколов приложений, которые используют их), чтение и запись в файл ...

Однако, могу ли я спросить, почему вы думаете, что класс за процесс будет потреблять столько памяти? Что касается производительности того факта, что есть больше процессов, предполагая, что они сидят без дела до вызова, не должно быть разницы в том, чтобы иметь много - в действительности это должно быть быстрее, иначе вам придется учитывать параллелизм.

Смежные вопросы