Вместо параметров по умолчанию, почему не только создают класс словаря из querystring, передал.. реализация, которая почти идентична пути работа форм asp.net с querystrings.
т.е. Запрос. QueryString["a"]
Это разъединит листовой класс от фабрики / шаблонный код.
Вы также могли бы хотеть проверить веб-сервисы с ASP.NET . Веб-сервисы являются веб-API, сгенерированным автоматически через атрибуты на классах C#.
У меня было бы и то, и другое.
Я бы сохранил файлы, переименованные с уникальным именем, что упростило бы управление, и я бы сохранил все метаданные в базе данных (имя файла, контент- тип, расположение в файловой системе, размер, описание и т. д.), поэтому доступ к файлам осуществляется через базу данных (косвенно).
Преимущества:
Вы также можете использовать сжатие на диске. Вы можете использовать RAID для резервного копирования и повышения скорости.
практическое правило для размера документа:
size < 256 kb: store in db
265 kb < size < 1 MB: test for your load
size > 1 Mb: store on file system
РЕДАКТИРОВАТЬ: это практическое правило также применяется для хранилища FILESTREAM в SQL Server 2008
О каких документах идет речь?
Хранение документов на вашем SQL-сервере может быть полезным, потому что вы можете связать документы с другими таблицами и использовать такие методы, как полнотекстовое индексирование и такие вещи, как нечеткий поиск.
Обратной стороной является то, что может быть немного сложнее создать резервную копию документов. Также возможно сжатие с помощью сжатия NTFS или других методов.
Если вы полностью обновитесь до SQL Server 2008, то сможете использовать новую функцию FILESTREAM, которая позволяет документу отображаться в виде столбца в таблице, но при этом не храниться в виде файла. на общем ресурсе, где к нему может получить прямой доступ программа (например, Word).
Основаны ли эти документы на тексте и планируете ли вы использовать полнотекстовый поиск SQL Server для поиска в этих документах? Если нет, то я не вижу никакой пользы от хранения этих документов в базе данных. Конечно, вы всегда можете сохранить метаданные, относящиеся к документам, включая информацию о пути к базе данных.
Большое преимущество размещения документов в БД состоит в том, что становится намного проще контролировать безопасный доступ к ним, поскольку вы можете делать все это через контроль доступа в своем приложении. Для их хранения на файловом сервере необходимо иметь дело с привилегиями доступа на уровне файлов и папок, чтобы предотвратить любой прямой доступ. Кроме того, их наличие в базе данных обеспечивает единую точку резервного копирования, чтобы вам было проще сделать полную копию и / или переместить ее, если это необходимо.
Вместо того, чтобы писать собственную DMS (систему управления документами), вам, вероятно, следует подумать о ее покупке или использовании WSS / SharePoint, поскольку это будет обрабатывать все повседневные детали (хранение, индексация, метаданные) и позволяют создавать свои собственные функции поверх.