Правило № 1
не Делают.
Это - действительно самое важное правило. Справедливости ради стоит отметить, что большинство использований GC.Collect () является плохой идеей, и я вошел в это в некоторых деталях в orginal, отправляющем, таким образом, я не повторю все это здесь. Поэтому давайте идти дальше к...
Правило № 2
Считает вызов GC.Collect (), если некоторый непериодический случай только что произошел, и это событие, очень вероятно, вызовет много старых объектов умереть.
классический пример А этого - то, если Вы пишете клиентское приложение, и Вы отображаете очень большую и сложную форму, которая имеет много данных, связанных с ним. Ваш пользователь только что взаимодействовал с этой формой, потенциально создающей некоторые большие объекты... вещи как XML-документы или крупный DataSet или два. Когда форма закрывается, эти объекты мертвы и таким образом, GC.Collect () исправит память, связанную с ними...
, Таким образом, это походит, эта ситуация может подпасть под Правило № 2, Вы знаете, что существует момент вовремя, где много старых объектов умерло, и это является непериодическим. Однако не забывайте слова разделения Rico.
Правило № 1 должно превзойти Правило № 2 без убедительных доказательств.
Мера, мера, мера.
Eureka!
Мое решение строится и начинается очень быстро!
Это не идеально, но я обычно просто щелкаю правой кнопкой мыши-> выгружаю их, пока Мне они нужны. Они по-прежнему доступны в решении (для перезагрузки по требованию), но это позволяет избежать этих проблем с запуском и высвобождает некоторые ресурсы (и ускоряет «сборку решения» и т. Д.).
Попробуйте щелкнуть правой кнопкой мыши свое РЕШЕНИЕ .
Общие свойства -> Проект запуска -> Проект одного запуска (и выбор только веб-сайта).
попробуйте это ?
Не прямой ответ, но почему вы храните эти проекты в одном решении?
Если вы разделите его, вы решите свою проблему, и у вас может быть несколько экземпляров VS2008, работающих для одновременной работы с этими приложениями и службами.
Установлены ли какие-либо зависимости между вашим проектом и проектами WCF? Это может привести к тому, что VS решит, что нужно запустить их все перед запуском вашего основного проекта.