У меня на руках немного затруднения, с которым, надеюсь, вы сможете помочь.
Я разрабатывал приложение Silverlight для клиента в Silverlight 4. Однако стало очевидно, что мне нужно иметькнопка для полноэкранного режима.Это было прекрасно и здорово, но когда в полноэкранном режиме Silverlight 4 отключает большинство ваших клавиатурных вводов по соображениям безопасности ......., поэтому причина перехода в полноэкранный режим для упрощения ввода данных в ChildWindowForms стала бессмысленной.
Я должен отметить, что я не могу сделать это приложение из браузера из-за того, что ему приходится сидеть в Dynamics CRM 2011, чтобы получить контекст и идентификатор записи, в которой он находится.
Так началось моеforray into silverlight 5. Эта версия позволяет приложениям запускаться в браузере в режиме повышенного доверия.Ранее доступный только в режиме вне браузера.
Все шло отлично, я понял, что мне нужно получить сертификат для подписи кода, добавить несколько ключей реестра и пользователя, чтобы добавить сертификат в доверенныйиздатели и получил это работает.Круто.
Моя проблема возникла, когда я попытался запустить свое приложение, и у меня появилось исключение, подобное этому:
There is an error in XML document (1, 41). ---> System.TypeAccessException:
Attempt by security transparent method to access security critical type failed.
На этом этапе все, что изменило код, было то, что я подписал свойпроекты с сертификатом.
Похоже, что в Silverlight 5 он не "доверяет" объекту XmlSerializer
, который я использую для чтения в какой-либо конфигурации XML, и десериализации в объект .Net
После некоторого копаниякажется, в городе появился новый сериализатор для Silverlight 5, DataContractSerializer
Так что я подумал, здорово, что я могу просто внести некоторые изменения в код сериализации, и все будет хорошо.К сожалению, это не так.
Кажется, что эта версия сериализатора на 33% быстрее в этой версии.Это происходит быстрее, потому что все узлы в XML должны быть в алфавитном порядке.Если они не в этом порядке, они читаются как ноль.(Если они окажутся в правильном положении, они будут прочитаны правильно.)
Так что мой вопрос таков. У меня нет выбора, кроме как реорганизовать все мои файлы конфигурации XML в алфавитном порядке для адаптации к этому новому Serialzer или есть способ использовать старый сериализатор XML и заставить Silverlight 5 доверять ему?