Является ли загрузка сборки зависимостей из Интернета хорошей практикой? - PullRequest
1 голос
/ 17 декабря 2008

Я знаю, что есть несколько способов развернуть клиентское приложение Windows .net:

Есть Установщик Windows , Нажмите Один раз , просто загрузите и запустите, а также загрузите приложение windows form / WCF в Internet Explorer (не путать последнее с WCF / E - Приложения Silverlight RIA)

Итак ... размышление об истинных клиентских приложениях Windows - просто чтобы прояснить это: приложения, состоящие из .exe в вашей файловой системе, - может быть хорошей идеей загрузить некоторые или все его зависимости из Интернета.

<assemblyIdentity 
    name="MyAssembly"
    publicKeyToken="89a956accc8f98e98a9e954a"
    culture="en-US" />
<codeBase 
    version="2.0.0.0"
    href="http://www.contoso.com/MyAssembly.dll" /> <!-- look here -->

Очевидно, что есть некоторые серьезные недостатки: необходимо всегда подключаться, CAS конфигурация в клиенте (интернет-зависимости должны быть в Internet_Zone code group ), не говоря уже о загрузке время.

Но я могу подумать и о нескольких преимуществах.

Какие проблемы? Кто-то использовал это в реальном проекте?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2008

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

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

1 голос
/ 17 декабря 2008

Если загружаемые вами сборки имеют цифровую подпись от надежного поставщика, это не должно быть так плохо с точки зрения безопасности. ЕСЛИ вы действительно доверяете им ... Например, если вы загружаете сборку от какого-либо стороннего поставщика, который может не следить за своим секретным ключом, тогда да, я бы с осторожностью делая это.

...