Инициализация AppFabric DataCacheFactory() зависает в VS2013, отлично работает в VS2010 и VS2012

У меня есть приложение, которое работает некоторое время. Я попытался запустить его с VS2013, и он зависает на линии, где он пытается инициализировать объект DataCacheFactory. Один и тот же код отлично работает с VS2010 и VS2012.

    private static DataCacheFactory GetDataCacheFactory()
    {
        if (factory == null)
        {
            lock (lockObject)
            {
                if (factory == null)
                {
                    factory = new DataCacheFactory();  //VS2013 hangs on this line
                }
            }
        }
        return factory;
    }

Ошибки не генерируются. Код просто висит на линии factory = new DataCacheFactory(),

Библиотеки AppFabric - это текущие версии.

Я приветствую любые предложения для определения, почему код висит на этой строке.

2 ответа

Решение

Я решил эту проблему, но я не знаю, что ее вызвало. Я попытался использовать DebugDiag, чтобы взять дамп и проанализировать его. Анализ показал, что процесс ожидает завершения чего-либо в модуле совместимости в некотором коде Microsoft.

Я заметил, что с IIS 8 установлено две базы данных совместимости. Я удалил оба элемента и снова попытался запустить свое приложение. На этот раз приложение успешно выполнило строку, которая висела.

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

Поскольку вы разрабатываете свое приложение для VS, это может быть приложение.net. пожалуйста, проверьте целевую версию.net Framework из свойств проекта при запуске на VS13.

Другие вопросы по тегам