После того, как я написал «Выберите между SQL Server Express Edition и Compact Edition», некоторые друзья в саду спросили, поддерживает ли SQL Server Compact Edition (sqlce) ASP.NET? В то время я не был уверен. Я проверил это сам, и это определенно не сработало, но я подумал, что это странно, и не было причин не поддерживать это!
Сегодня я прочитал блог Стива Ласкера и наконец понял это!
Поскольку sqlce по умолчанию не поддерживает ASP.NET, многие пользователи обращались к MS с запросами, постоянно жаловались и даже угрожали (если вы не позволите ему поддерживать его, я буду использовать продукты XX). Стив Ласкер наконец не смог усидеть на месте и вышел, чтобы прояснить все это.
На самом деле рыночное позиционирование sqlce очень четкое, в основном для решения проблем автономного хранения данных и синхронизации умных клиентов. Это также поясняется в разделе «Выбор между SQL Server Express Edition и Compact Edition». Поэтому Microsoft не оптимизировала сценарий использования sqlce в качестве базы данных веб-сайта. В среде многопользовательского доступа к веб-сайту и одновременного использования данных производительность sqlce не идеальна и не может сравниваться с SQL Server Express. Поэтому рекомендуется, чтобы на веб-сайте по-прежнему использовалась база данных SQL Server Express или SQL Server. Вы должны знать, что sqlce — это встроенный механизм базы данных, а SQL Server Express — это служба базы данных. Теперь набор инструментов для размещения SQL Server, недавно выпущенный командой разработчиков SQL Server, может помочь вам в развертывании SQL Server Express на вашем веб-сервере.
Итак, может ли ASP.NET использовать sqlce в качестве хранилища данных? Может!
По умолчанию sqlce будет заблокирован при открытии подключения к базе данных sqlce в рабочем процессе ASP.NET. Это ограничение можно снять с помощью следующего кода. Эта строка кода изменится в версии RTM, поскольку sqlce был переименован и больше не называется SQL Server Everywhere:
AppDomain.CurrentDomain.SetData("SQLServerEverywhereUnderWebHosting", true)
следует отметить, что функцию синхронизации данных sqlce нельзя использовать в ASP.NET.
Короче говоря, независимо от того, насколько велики туфли, насколько велики ступни. Не следует использовать sqlce в ASP.NET. Если вы настаиваете на его использовании, обратите внимание на последствия!
Ссылка:
SQL Server Compact Edition под ASP.net и IIS.
Класс SqlCeConnection (System.Data.SqlServerCe)