Использование Deleporter для имитации кросс-процесса

Мы пытаемся использовать инструмент Стивена Сандерсона Deleporter для насмешек между процессами: http://blog.stevensanderson.com/2010/03/09/deleporter-cross-process-code-injection-for-aspnet/

У нас возникают проблемы с тем, чтобы заставить это работать, та же проблема, о которой многие люди сообщали в разделе комментариев в блоге Сандерсона: «Обычно разрешено только одно использование каждого адреса сокета (протокол/сетевой адрес/порт)».

Мы успешно запустили демонстрационный проект гостевой книги Сандерсона. Однако иногда мы получаем ошибку «только одно использование каждого сокета..». Повторное использование пула приложений и выполнение iisreset, похоже, исправляют это. Однако, как только мы преодолеваем ошибку сокета, мы получаем эту ошибку: «Не удалось установить соединение, потому что целевая машина активно отказалась от него 127.0.0.1:38473».

Кто-нибудь успешно заставил Deleporter работать? Этот инструмент действительно поможет нам в разработке BDD.


person dalecooper    schedule 29.11.2011    source источник


Ответы (3)


Ошибка «Только одно использование каждого адреса сокета…» была исправлена ​​в GitHub Commit Стива от 16 апреля 2010 г. ://github.com/SteveSanderson/Deleporter/commit/f9b9f3070ec99ddf0d11bb818decadbd46c1bf70. Я нашел Deleporter очень полезным.

person Stuart    schedule 20.12.2011

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

person Jimmy Bosse    schedule 12.12.2011

Имейте в виду, что примеры, которые предоставляет Стив, имеют файл web.config, подходящий для IIS5, IIS6 или Cassini. Если вы пытаетесь сделать это с помощью IIS7 или IIS Express, убедитесь, что вы изменили файл web.config таким образом, чтобы элемент модуля находился в разделе system.webServer, а не в разделе system.web.

Все это объясняется в сообщении в блоге Стива, но я упомянул об этом здесь, так как это зацепило меня, пока я не замедлился и не прочитал его как следует.

Я также обнаружил, что двоичный файл в папке Samples/ExternalAssemblies не работает при использовании IIS Express. Но если я скомпилировал проект Deleporter и использовал полученный из него двоичный файл, все было в порядке.

Примеры проектов «WhatTimeIsIt» используют версию «ExternalAssemblies», поэтому они не будут работать с IIS Express, пока вы не замените ее только что скомпилированной версией.

Когда он работает, это действительно превосходный инструмент.

person Holf    schedule 31.01.2012