Замедление создания контейнера Unity на некоторых машинах - PullRequest
1 голос
/ 09 декабря 2010

На моей машине все в порядке, но когда я пробую приложение на тестовой машине с WinXp sp3 Я столкнулся с проблемой.

Вызов метода, содержащий приведенный ниже код, занимает 1,5 минуты

var c = new UnityContainer();

Unity версия 2.0.414.0 .Net Framework v 3.5 sp1

Кто-нибудь знает, как это исправить?

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Есть ли у вашей тестовой машины доступ в интернет?Если нет, это может быть зависание при попытке проверить сертификат authenticode в двоичном файле.Быстрый тест будет состоять в том, чтобы собрать Unity из исходного кода и использовать вместо этого dll.Если он не зависает, тогда это была проблема.Есть способ отключить проверку сертификата в файле app.config;Я обновлю этот ответ, как только у меня будет возможность посмотреть его.

0 голосов
/ 09 декабря 2010

Я не знаю, изменится ли он по-другому или нет, но вы можете попробовать это вместо этого.

UnityContainer c = new UnityContainer();
OR
IUnityContainer myContainer = new UnityContainer();

Кроме того, вы сделали следующее:

  1. Предоставьте файл конфигурации формата XML, который соответствует схеме, показанной в схеме источника для блока приложений Unity.
  2. Используйте методы контейнера, чтобы добавить определенные записи регистрации для сопоставлений по умолчанию и именованных сопоставлений.
  3. Используйте API конфигурации контейнера для предоставления пользовательской конфигурации для контейнера.

Может быть, это может помочь:

http://msdn.microsoft.com/en-us/library/ff648211.aspx

...