|
17.11.2015, 01:39 | #1 |
Участник
|
Валится Sandbox при попытке инициализации события Create
При попытке инициализации события Create валится песочница.
В Trace пишет под заголовком "SandboxWorkerProcess.Execute": Execute failed: System.ServiceModel.CommunicationException: Ошибка записи в канал: Идет закрытие канала. (232, 0xe8). (По английски: There was an error writing to the pipe: The pipe is being closed. (232, 0xe8)) И естественно плагин, который должен запускатся при этом событии не запускается. Не могу понять, дело в конфиге песочницы или самого решения с плагином. Может кто подскажет? UPD: Плагин навешен на примечание (annotation) и валится при попытке запихнуть в примечание файл, размером более 10 Mb. Файлы с размером мегабайт в шесть залетают без проблем. В настройках организации указан максимальный размер файла в 32 мега, равно как и в веб конфиге приложения. UPD2: Проблем не возникает, если плагин развернут без режима изоляции. Но, к сожалению, такой вариант не походит, так как срабатывание плагина не тригерят другие плагины, работающие в режиме изоляции (из песочницы). Последний раз редактировалось Kozak_Mamaj; 17.11.2015 в 01:59. Причина: Добавление деталей |
|
18.11.2015, 12:01 | #2 |
Участник
|
На форуме уже была такая проблема.
Ошибка при вложении файла примечания CRM 11 RU 14 Решение, как я понял, так и небыло найдено... Вроде как, согласно ошибке из логов нужно увеличить некий параметр (MaxReceivedMessageSize) для процесса песочницы. Но где именно это сделать пока для меня неясно. "System.ServiceModel.CommunicationException: Превышена квота максимального размера сообщения для входящих сообщений (13893632). Для увеличения квоты используйте свойство MaxReceivedMessageSize соответствующего элемента привязки. ---> System.ServiceModel.QuotaExceededException: Превышена квота максимального размера сообщения для входящих сообщений (13893632). Для увеличения квоты используйте свойство MaxReceivedMessageSize соответствующего элемента привязки." Последний раз редактировалось Kozak_Mamaj; 18.11.2015 в 12:03. |
|
19.11.2015, 18:34 | #3 |
Moderator
|
Чисто гипотетически, нужно увеличить размер сообщения в биндинге WCF клиента: http://blogs.msdn.com/b/hongmeig/arc...streaming.aspx.
Увы, сейчас нет под рукой системы с отладчиком, так что не подскажу, можно ли достучаться до этого свойства в плагине. Как это можно проверить: нужно получить ссылку на сервис системы (IOrganizationService) посмотреть ее тип, и, если он ведет свою родословную от WCF клиента (ClientBase), то получить его Enpoint вместе с биндингами и нужными нам свойствами.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
26.11.2015, 16:50 | #4 |
Moderator
|
При внимательной проверке выяснилось, что это серверный параметр и в клиенте он не выставляется. Однако возник вопрос касательно вашего UPD2.
Вероятно вы что-то путаете. Режим изоляции (равно как и все прочие параметры регистрации) никак не влияют на воронку обработки. Вы можете спровоцировать событие в плагине, который развернут в IIS и это событие будет перехвачено в плагине развернутом в Sandbox. Ради интереса я провел эксперимент и все получилось.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
27.11.2015, 05:47 | #5 |
Участник
|
Цитата:
Сообщение от Артем Enot Грунин
Режим изоляции (равно как и все прочие параметры регистрации) никак не влияют на воронку обработки. Вы можете спровоцировать событие в плагине, который развернут в IIS и это событие будет перехвачено в плагине развернутом в Sandbox. Ради интереса я провел эксперимент и все получилось.
Однако же плагин, обрабатывающий файл вложения таки валится в песочнице, если файл больше (примерно) 10Мб. И тот же плагин, развернутый без режима изоляции, отрабатывает нормально. Таким образом, я решил свою проблему, вынеся плагины, обрабатывающие вложение примечания из песочницы. |
|
27.11.2015, 11:05 | #6 |
Moderator
|
Особенность отладки песочницы в том, что она возможна только для второго срабатывания плагина, так как нужный для отладки процесс появляется во время первого вызова. Возможно, во время прошлых экспериментов не поймался брейкпоинт, или не было выполнено условие запуска.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
|