У нас есть система плагинов в службе WCF, которая проверяет библиотеки, размещенные в папке bin, на наличие определенных атрибутов уровня сборки и загружает их. Это позволяет настраивать определенные вызовы службы в зависимости от того, какой клиент выполняет вызов. Это прекрасно работает большую часть времени. Однако иногда кажется, что он теряет dll, что заставляет службу возвращаться к реализации по умолчанию для каждого клиента. Решение до сих пор заключалось в том, чтобы просто переместить файл dll из папки bin и обратно. Это заставляет asp.net забрать файл, и настройки снова начинают работать.
Я в растерянности из-за того, что сборка так пропускается через определенное время. Любые идеи относительно того, что может быть причиной этого?
Редактировать: проблема изложена более четко
Наши сервисы используют фабрику сервисов для раздачи пользовательских реализаций в зависимости от того, какой клиент вызывает код. Если пользовательской реализации нет, мы раздадим реализацию по умолчанию. Мы используем GetAssemblies для проверки сборок, которые украшены атрибутом, определяющим их как пользовательскую реализацию и связывающим их с клиентом. Проблема в том, что GetAssemblies перестает возвращать пользовательскую сборку клиента, даже если библиотека остается в папке bin. Перемещение dll из корзины и обратно в нее решит проблему примерно на неделю, пока это не произойдет снова