Является ли обычным / подходящим для сторонних компонентов недокументированное использование файловой системы? - PullRequest
0 голосов
/ 29 апреля 2009

Я использовал два сторонних компонента для создания PDF-документов (в .NET, но я думаю, что это не зависит от платформы). Пока я не буду называть названия компаний, но скажу, что они , а не чрезвычайно известные поставщики.

Я обнаружил, что оба продукта недокументируют использование файловой системы (то есть размещение временных файлов на диске). Это создало проблему для меня в моем веб-приложении ASP.NET, так как теперь я должен определить местоположение файлов и установить для них соответствующие разрешения. Поскольку мое веб-приложение настроено для олицетворения с использованием проверки подлинности Windows, это, по сути, означает, что я должен назначить разрешения на запись для нескольких расположений файлов на моем веб-сервере.

Не так уж и много, когда я выяснил, почему отказывают компоненты, но ... я вижу это как проблему с обслуживанием. Что происходит, когда мы обновляем наши серверы до некоторой ОС, которая меняет одно из временных расположений файлов? Что произойдет, если поставщик решит изменить местоположение временного файла? Наше приложение «сломается» без изменения строки нашего кода. Связано, но если нам нужно поставить это приложение на «свежем» компьютере (независимо от среды), мы должны знать об этой проблеме и соответствующим образом установить разрешения.

К сожалению, компоненты не обеспечивают способ сделать этот временный путь к файлу «настраиваемым», что, по крайней мере, сделает его более явным о том, что происходит под прикрытием.

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

Мысли? Мнения? Комментарии?

Ответы [ 3 ]

2 голосов
/ 29 апреля 2009

Во-первых, я хотел бы спросить, предназначены ли эти инструменты для создания PDF для работы в приложениях ASP.NET. Они заявляют, что это то, что они поддерживают? Если это так, то они должны предоставить документацию о том, как они используют файловую систему и какие разрешения им нужны.

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

1 голос
/ 29 апреля 2009

Банальные? да. Подходящее? обычно нет.

Временные файлы являются одним из подходящих вариантов использования IMHO, если они используют соответствующую папку% TEMP% или даже лучше, используют встроенные функции Path.GetTempPath / Path.GetTempFileName.

В идеальном мире каждый сторонний компонент поставляется с описанием безопасности доступа к коду, в котором подробно перечисляются, что необходимо (и для какой цели), но CAS, возможно, является одной из наиболее игнорируемых функций .net ...

0 голосов
/ 29 апреля 2009

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

Мартин также хорошо оценивает, должно ли это приложение работать с Asp.net или настольное приложение.

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