это возможно только для проектов .Net на основе WPF, WCF и ADO.net при наличии БД в качестве Sybase? - PullRequest
1 голос
/ 12 мая 2011

У нас есть 5-летние мини-ERP-приложения на основе локальной сети (только для внутренней сети), написанные на ASP.net 2.0

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

Поскольку в наших организациях используются ЛВС, у нас есть только системы Windows, поэтому мы можем установить клиентский модуль в каждой системе. Мы планируем разрабатывать клиентские модули как (на основе браузера HTTP), так и на основе настольного компьютера (WPF).

Итак, в основном я хочу узнать от вас, люди, что

  1. Можно ли создать решение с шаблоном проекта WPF (для пользовательского интерфейса), шаблоном проекта WCF (для промежуточного программного обеспечения) и пользовательской библиотекой доступа к данным (AS DataAccessLayer)?

  2. Позже, если потребуется, мы также предоставим браузерный HTML + jQuery UI, чтобы мы могли повторно использовать код, упомянутый в 1 #?

  3. Наш клиент хочет Sybase в качестве БД, поэтому возможно ли сделать DAL через Sybase DB?

Не относитесь к этому типу обсуждения Вопрос и не закрывайте его

Я просто хочу знать решение как 3 ответа на эти 3 вопроса из-за этих странных требований с нами:)

Ответы [ 3 ]

2 голосов
/ 12 мая 2011

Адам,

Да, это возможно для всех трех вопросов.

  1. Это такие платформы, как Prism / Caliburn / MMVM Light, которые могут помочь с вашим пользовательским интерфейсом.
  2. Если вы основываете свою бизнес-логику на веб-интерфейсе API (SOAP / REST), вы должны иметь возможность использовать одинаковую бизнес-логику для обоих.
  3. Поставщики баз данных для Sybase, но, возможно, захотите использовать ORM(Сопоставление объектных отношений) (Nhibernate / Entity Framework)

Приветствия

Iain

2 голосов
/ 12 мая 2011

Первые два вопроса хорошо охвачены другими ответами. Что касается Sybase, то вот что вы должны знать:

Независимо от того, планируете ли вы использовать прямой уровень данных ADO.NET или ORM, необходимые библиотеки DLL и настройки применимы к обоим. Если вы планируете использовать NHibernate 3.0 с Sybase, то вам следует просмотреть информацию здесь , поскольку она должна использовать предоставленный диалект NHibernate 2.1.2. NHibernate 2.1.2 прекрасно работает из коробки с Sybase ASE версии 12. Для этой версии настройте NHibernate с этим диалектом и драйвером:

NHibernate.Dialect.SybaseAdoNet12Dialect
NHibernate.Driver.SybaseAdoNet12ClientDriver

Я считаю, что драйверы SqlAnywhere отличаются, но для ASE библиотеки DLL, на которые вам нужно будет ссылаться, перечислены ниже. Вы можете получить их от Sybase только через программу поддержки, чтобы они соответствовали их лицензии.

Наконец, драйвер Sybase ADO.NET кажется тонким слоем над неуправляемой DLL, и его использование и стабильность показывают это. Это, конечно, более хитро настроить, чем другие драйверы ADO.NET, с которыми я работал. Например, поскольку Sybase обычно не настроен на поддержку набора символов Unicode, вам необходимо установить / отобразить строковые параметры .NET для использования AnsiString или AnsiStringFixedLength (или AseDbType.VarChar) в зависимости от ситуации. Еще более странным является то, что если вы забудете это сделать, драйвер молча выйдет из строя и просто напишет нулевое значение в столбце таблицы.

sbgse2.dll
Sybase.AdoNet2.AseClient.dll
sybcsi_certicom_fips26.dll
sybcsi_core26.dll
sybcsi_profiler26.dll
sybdrvado20.dll

2 голосов
/ 12 мая 2011

Ответ заключается в том, что все это определенно возможно сделать.

Создание внешнего интерфейса в WPF, среднего уровня в WCF и пользовательского уровня доступа к данным будет хорошо работать для вас.Вот несколько советов о том, как соединить WPF и WCF: http://wcfguidanceforwpf.codeplex.com/

Вы определенно можете заменить интерфейс WPF интерфейсом HTML + jQuery.Вот некоторый код о том, как использовать службу WCF через jQuery: ссылка

C # может просто получить доступ к Sybase.См Это

...