Windows-приложение в C #? - PullRequest
       10

Windows-приложение в C #?

2 голосов
/ 27 октября 2009

Я проектирую приложение для Windows на C #, которое при первом запуске создает локальную базу данных ( SQLite ), и данные (около 200 МБ или даже больше) передаются в виде потока данных. с удаленного сервера на основе критериев, указанных пользователем.

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

Вопросы:

  1. Полезно ли использовать сервер баз данных непосредственно из приложения, поскольку сервер автоматически управляет соединениями, и я экономлю время на разработке интерфейса TCP / IP.
  2. Каким может быть второй вариант? Предоставление сервера или интерфейса TCP / IP (не долго ли его писать?).
  3. Поскольку данные большие, я должен использовать сжатие?

Ответы [ 4 ]

3 голосов
/ 27 октября 2009

С WCF вы можете избежать затрат на написание кода TCP / IP и иметь отдельный сервер или веб-службу, размещенную на IIS. Кроме того, сжатие может быть добавлено без изменения кода.

Вы должны попробовать с и без сжатия. Степень сжатия сильно зависит от данных, и время сжатия также может быть проблемой.

1 голос
/ 27 октября 2009

Не вдаваясь в подробности, могу сказать, что вы можете использовать ASP.NET C # (вы можете выбрать любой язык .NET) и отправлять и получать данные, используя POST.

Зачем вам нужно сжатие? Вы только отправляете результаты? Если он большой, вы можете использовать существующую библиотеку. Я использовал sevenzipsharp в прошлом без особых проблем.

Редактировать: На сервере может быть опция gzip вывода данных, поэтому вам не нужно ничего использовать.

0 голосов
/ 27 октября 2009

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

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

0 голосов
/ 27 октября 2009

Обычно лучше использовать ADO.NET или LINQ to SQL (Entity Framework) для прямого подключения к вашей базе данных, если только пользователь не будет отключен во время использования приложения.

Если вы хотите, чтобы пользователь отключился, продолжайте использовать SQLite или вы можете использовать ADO.NET, который может сохранить XML-файл данных и обращаться к нему как к таблице с компьютера пользователя без дополнительная зависимость SQLite.

Я бы не использовал сжатие, потому что C # не имеет встроенной библиотеки для него и потребует дополнительной зависимости.

Попробуйте просто использовать .NET Framework без дополнительных библиотек DLL, и вы получите более гибкое приложение, которое проще в установке и обслуживании.

ADO / Entity Framework - http://msdn.microsoft.com/en-us/library/h43ks021.aspx

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