Решения для песочницы кажутся слишком серьезными - PullRequest
2 голосов
/ 30 декабря 2010

Я изучаю SharePoint и различные виды решений, которые вы можете развернуть. Из тренинга, который я наблюдаю, кажется, что вы должны стараться использовать Sandbox Solution, когда это возможно. Это потому, что Farm Solutions может слишком много испортить.

Однако две основные вещи, которые я бы сделал с WebParts, не поддерживаются в Sandbox Solutions. Это визуальные веб-части и веб-части связи. (Первое не разрешено, потому что оно должно попасть в файловую систему, а второе запрещено, потому что оно использует отражение).

Мне кажется, что мои WebParts всегда захотят сделать хотя бы одну из этих вещей. (Веб-части, которые не общаются, на самом деле не настолько модульны?)

Я упускаю суть или Sandbox Solutions - это "хорошая идея", которая не используется в реальном коде?

Ответы [ 4 ]

6 голосов
/ 31 декабря 2010

Да, я согласен с вами, что решения Sandbox очень строгие.

Но именно это ограничение придает им ценность. Из-за ограничений решение «песочница» не может разрушить ферму (по крайней мере, это теория, кто-то может найти способ сделать это).

Это означает, что вы можете открыть гораздо больше пользователей для развертывания вещей на ферме. Это также требование для развертывания вещей в SharePoint Online.

То, что решения Sandbox являются более строгими, означает, что разработка является более громоздкой, вы должны программировать свой обход ограничений. Это делает решения более дорогими. Поэтому по умолчанию должна быть ферма, если у вас нет веских причин не использовать ее.

2 голосов
/ 05 апреля 2011

Я думаю, что в некоторых комментариях здесь отсутствует весь смысл решения «Песочница», им сознательно предоставлен ограниченный набор привилегий по многим причинам: а) Администратор семейства сайтов может добавить решение SB, следовательно, они не должны быть администраторами фермы, а значит, повысить безопасность фермы. б) Вы можете доверять тому, что SB НЕ будет останавливать ферму, они даже не работают под обычным рабочим процессом SharePoint, вместо этого они размещаются в своем собственном процессе, который действует как хост, чтобы проверить, являются ли доступные ресурсы доступными. разрешено для решения SB. в) Облако приближается, от этого факта невозможно уйти, когда кто-то другой размещает ваше решение SharePoint, вы действительно думаете, что получите доступ к ферме?

Я думаю, что понимание влияния запуска в качестве решения для песочницы с точки зрения не-разработчика важно, ведь вы не создадите никакого специального решения и ожидаете, что клиент предоставит вам учетные записи на уровне домена для его запуска, поэтому при создании решений SharePoint подумайте о запуске своего решения с минимальным количеством разрешений по умолчанию, если другого пути нет, а затем исследуйте решения фермы.

Вот полезное руководство от MS:

http://msdn.microsoft.com/en-us/library/ff798382.aspx

1 голос
/ 11 марта 2011

Песочница ужасна, я совершенно не согласен с утверждением "именно это ограничение дает им их ценность". Вы не можете многое сделать в песочнице. 1. нет сессии 2. нет связи с веб-частью 3. нет контроля загрузки файлов 4. нет перенаправления ...

и от этого все становится чертовски больно. Мы находимся в процессе разработки корпоративного приложения для внешних пользователей, и я советую вам, если вы решите использовать Sandbox для этих целей, я бы сказал, добавьте на 150% больше времени для вашего проекта только для решения проблем с песочницей.

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

если вы можете остаться вне песочницы

1 голос
/ 06 января 2011

Если ваша среда позволяет устанавливать фермерские решения, то да, решения для песочницы являются ограничительными и мешают вам делать то, что вы хотите.

Однако, если ваша среда не допускает регулярного развертывания решения, как в случае с общим хостингом и некоторыми крупными корпорациями, тогда они не являются ограничительными, поскольку без них вы вообще не сможете использовать пользовательский код.

...