Сериализатор JSON.NET для службы WCF, размещенный в службе Windows или исполняемом файле командной строки - PullRequest
0 голосов
/ 29 марта 2012

Существует служба REST WCF, размещенная в службе Windows или в исполняемом файле командной строки. Я хотел бы заменить DataContractJsonSerializer по умолчанию на JSON.NET сериализатор.

Существует похожий вопрос с небольшим отличием, что он использует IIS: Как установить Json.Net в качестве сериализатора по умолчанию для службы WCF REST .

Код, предложенный там, не работает, если размещен вне IIS. Выдает следующее исключение: ServiceHostingEnvironment.EnsureServiceAvailable не может быть вызвано в текущей среде хостинга. Этот API требует, чтобы вызывающее приложение было размещено в IIS или WAS.

Есть идеи?

1 Ответ

2 голосов
/ 30 марта 2012

Этот код должен работать; просто удалите атрибут [AspNetCompatibilityRequirements] из службы, так как он на самом деле не применяется к службам с собственным размещением. Вы также можете использовать собственный форматировщик сообщений для замены сериализатора, как описано в http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...