Только для столкновения потока я попробовал DOMPDF, и это работало отлично. Я использовал DIV
и другие элементы блочного уровня для расположения всего, я сохранил его строго CSS 2.1, и это играло очень приятно.
Вам нужно в основном рассмотреть три варианта:
1) Хостинг в IIS6 (Windows Server 2003/2003 R2): в этом сценарии вы можете размещать только протоколы HTTP - ничего больше. Это само по себе является серьезным ограничением, вы не можете использовать, например, netTcp для сценариев интрасети.
2) Хостинг в IIS7 / WAS (Vista, Server 2008): это дает вам больше возможностей с точки зрения поддерживаемых протоколов, и среда хостинга выглядит сначала как победитель.
3) Самостоятельный хостинг: в этом сценарии все зависит от вас, делать все, что вам нужно для размещения и запуска ваших служб.
Если вы пока откажетесь от варианта №1 (если у вас только IIS6 доступный, я бы всегда использовал собственный хостинг), все сводится к IIS7 по сравнению с самостоятельным хостингом.
IIS7 дает вам «активацию по запросу», например, код вашей службы не всегда находится в памяти, но будет загружен и создан при поступлении запроса. Это может быть плюсом.
С другой стороны, хостинг в IIS7 / WAS лишает вас возможности указывать собственные конечные точки - ваша конечная точка и, следовательно, адрес службы являются виртуальный каталог, в котором находится ваш файл "MyService.svc" - точка. Вы не можете изменить это каким-либо образом, форму или форму.
Самостоятельный хостинг может показаться трудоемким, но он дает вам максимальную гибкость: вы можете выбирать свои протоколы по своему усмотрению, вы можете настроить свои собственные адресную схему так, как вам нравится, и вы полностью контролируете, что и когда будет сделано. Вы можете ввести свой собственный ServiceHost, если вам нужно проделать некоторую дополнительную работу по размещению сервисов и т. Д.
Если вы не просто немного поигрались с WCF, Я всегда рекомендовал бы и проголосовал за самостоятельный хостинг - если вам нужно, чтобы служба WCF работала постоянно внутри службы Windows NT (это лучшее решение для производственных сред), и если вы разрабатываете / отлаживаете, вы можете полностью разместите свои службы WCF в консольном приложении, которое вы можете запускать и останавливать на досуге.
Короче говоря: в конце концов, если вы действительно хотите контролировать происходящее, я бы всегда рекомендовал самостоятельный хостинг.
Это может измениться после появления нового «Дублина». Server-Addon от Microsoft выходит примерно через некоторое время после запуска .NET 4, вероятно, в начале 2010 года, но об этом еще рано говорить.
Надеюсь, это поможет.
Марк
При разработке / отладке вы можете полностью разместить свои службы WCF в консольном приложении, которое вы можете запускать и останавливать на досуге.Короче говоря: в конце концов, если вы действительно хотите контролировать происходящее, я всегда рекомендовал бы самостоятельный хостинг.
Это может измениться после появления нового «Дублина» Server-Addon от Microsoft выходит примерно через некоторое время после запуска .NET 4, вероятно, в начале 2010 года, но об этом еще рано говорить.
Надеюсь, это поможет.
Марк
При разработке / отладке вы можете полностью разместить свои службы WCF в консольном приложении, которое вы можете запускать и останавливать на досуге.Короче говоря: в конце концов, если вы действительно хотите контролировать происходящее, я бы всегда рекомендовал самостоятельный хостинг.
Это может измениться после появления нового «Дублина». Server-Addon от Microsoft выходит примерно через некоторое время после запуска .NET 4, вероятно, в начале 2010 года, но об этом еще рано говорить.
Надеюсь, это поможет.
Марк
Я сам предпочитаю автономные службы (служба Windows). С учетом сказанного есть веские причины для выбора любого пути.
В MSDN есть несколько ценных статей о различных стратегиях хостинга WCF .
Вот хорошее резюме того, почему вы можете выбрать для использования IIS в качестве хоста службы.
Я бы сказал, что без IIS7 и WAS вы не можете размещать что-либо, кроме конечных точек на основе HTTP с использованием IIS. Таким образом, вы, скорее всего, захотите использовать собственный хост для гибкости.
Что касается ваших данных, любая служба может быть закодирована с таким состоянием, что данные кэшируются и т. Д.
Несколько запросов потребуют от вас использования параллелизма WCF. Вы хотите установить атрибуты на своем хосте службы:
[System.ServiceModel.ServiceBehavior(UseSynchronizationContext = false,
InstanceContextMode = System.ServiceModel.InstanceContextMode.PerCall,
ConcurrencyMode = System.ServiceModel.ConcurrencyMode.Multiple)]
public class MyService : IMyService
{
}
WCF - это большой зверь, я рекомендую вам взглянуть на книгу Юваля Лоуи и все остальное, что вы можете получить, вы не узнаете его за день.
Может быть, немного не по теме, но это касается четвертого рассмотрения.
Если вы в конечном итоге переходите на собственный хостинг и вам нужно быть максимально «настраиваемым в отношении конечных точек», вы можете взглянуть на Managed Services Engine . MSE - это продукт с открытым исходным кодом, созданный службами Microsoft Services, который позволяет виртуализировать ваши службы. По сути, это узел WCF, который использует метаданные из собственного репозитория для предоставления услуг. Некоторые функции: поддержка параллельного управления версиями служб, возможность включения / отключения операций над службами, возможность сопоставления операций с конечными точками, возможность применять политики к операциям.
Я не уверен, соответствует ли он вашим потребностям, но на него стоит взглянуть, особенно если вам нужно максимально настраивать.