WCF ServiceActivationException Confusion - PullRequest
3 голосов
/ 09 октября 2009

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

При попытке перейти к службе выдается следующее исключение (внутренний тип исключения - InvalidDataContractException):

[ServiceActivationException: служба '/IL.Party.WS/Party.svc' не может быть активирована из-за исключения во время компиляции. Сообщение об исключении: Тип «IL.Party.MS.Person» не может быть сериализован. Попробуйте пометить его атрибутом DataContractAttribute и пометить все его элементы, которые вы хотите сериализовать, атрибутом DataMemberAttribute.]

Я не могу понять, что здесь происходит. Все три среды: Windows Server 2003, IIS6 и .NET 3.5. На сервере, где происходит сбой службы, я зашел так далеко, что удалил временную. ASP.NET файлы для принудительной перекомпиляции. Один и тот же код развернут во всех трех средах. Если бы «IL.Party.MS.Person» не был сериализуемым, я ожидал бы получить эту ошибку во всех трех средах. Тип Person имеет поля типа string, int, DateTime и decimal - так что нет ничего необычного и однозначно сериализуемого.

Кто-нибудь имеет представление о том, что может быть причиной этого?

Ответы [ 3 ]

3 голосов
/ 09 октября 2009

Marc_s фактически ответил на это в комментариях.

Но похоже, что причина - изменения в сериализаторе контракта данных.

http://www.hanselman.com/blog/HiddenGemsNotTheSameOld35SP1Post.aspx

0 голосов
/ 23 августа 2013

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

Memory gates checking failed because the free memory (258187264 bytes) is less than 5% of total memory.  As a result, the service will not be available for incoming requests.  To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.
0 голосов
/ 09 октября 2009

Вы пытались утилизировать пулы приложений? Лучше всего явно пометить вас DataContracts, чтобы я также применил эти атрибуты. Возможно ли, что ваша активация vdir http неверно настроена?

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