ASP.NET MVC 2 Embedded Database - PullRequest
       9

ASP.NET MVC 2 Embedded Database

0 голосов
/ 10 июля 2010

Я создаю очень маленький временный веб-сайт, которому нужен небольшой вспомогательный магазин. Я построил это в ASP.NET MVC 2 и хотел разместить его на DiscountASP - хотя это не обязательно.

Мне бы хотелось, чтобы хранилище резервных копий работало с ASP.NET MVC 2, VS2010 Express, с поддержкой LINQ (или EF) и работало без дополнительной оплаты на общем хосте.

Из моего исследования SQLCE 3.5 не работает в .NET 4 SQLCE 4, только CTP и не работает в VS2010 SQlite не имеет драйверов .NET 4.0.

У меня есть это право? Любые хорошие учебники или блоги, которые показывают, как получить эту работу шаг за шагом?

Спасибо, Mark

Ответы [ 3 ]

1 голос
/ 10 июля 2010

Я не эксперт по ASP, но вы слышали о Firebird SQL?Ядро базы данных, которое имеет клиент-серверные или встроенные версии, полностью оснащено транзакциями и т. Д. И с поставщиком ADO.NET

http://firebirdsql.org/dotnetfirebird/

http://firebirdsql.org/index.php?op=devel&sub=netprovider

0 голосов
/ 26 октября 2010

Нет, даже не думайте об использовании Firebird, встроенного в ASP.NET.

Это строго запрещено.

вот ссылка на веб-сайте Firbird, чтобы избежать:

Можно ли использовать встроенный Firebird в моем приложении ASP.NET?

Да. Но Firebird ADO.NET ищет файл fbembed.dll в рабочем каталоге приложения. Для приложения ASP.NET рабочим каталогом является системная папка (например, C: \ WINDOWS \ System32). Но это не без проблем текст ссылки

На другой странице того же сайта:

ASP.NET использует функцию, которая помогает против плохо написанного приложения ASP.NET блокировать весь сервер - он регулярно повторяет рабочий процесс ASP.NET. По умолчанию в IIS6 используется вторичная переработка, когда новый процесс запускается до остановки старого, чтобы обеспечить бесперебойную работу. Проблема заключается в том, что fbembed.dll блокирует только базу данных для процесса-владельца, поэтому, если вы одновременно запустите другой процесс, база данных не будет доступна до остановки первого процесса. Возможно, вы захотите принять это, но на самом деле это не оптимальное решение.

Решение состоит в том, чтобы отключить перекрывающуюся утилизацию (установив для свойства метабазы ​​ DisallowOverlappingRotation значение true). Однако это может привести к сбоям в работе вашего приложения во время переработки.

Заключение

Не делай этого ** т ;-). Действительно, fbembed.dll ** не был создан для такого использования . Вы можете заставить его работать, но это всего лишь взлом.

...