Меню Рубрики

Установка sql server compact edition

Развертывание веб-приложения ASP.NET с SQL Server Compact с помощью Visual Studio или Visual Web Developer: развертывание баз данных SQL Server Compact-2 из 12 Deploying an ASP.NET Web Application with SQL Server Compact using Visual Studio or Visual Web Developer: Deploying SQL Server Compact Databases — 2 of 12

В этой серии учебников показано, как развернуть (опубликовать) проект веб-приложения ASP.NET, включающий базу данных SQL Server Compact, с помощью Visual Studio 2012 RC или Visual Studio Express 2012 RC для Web. This series of tutorials shows you how to deploy (publish) an ASP.NET web application project that includes a SQL Server Compact database by using Visual Studio 2012 RC or Visual Studio Express 2012 RC for Web. При установке обновления веб-публикации можно также использовать Visual Studio 2010. You can also use Visual Studio 2010 if you install the Web Publish Update. Введение в серию см. в первом учебнике серии. For an introduction to the series, see the first tutorial in the series.

Руководство, в котором показаны функции развертывания, появившиеся после выпуска версии-КАНДИДАТа Visual Studio 2012, демонстрирует развертывание SQL Server выпусков, отличных от SQL Server Compact, и демонстрация развертывания в веб-приложениях службы приложений Azure см. в разделе ASP.NET Web Deploying using Visual Studio. For a tutorial that shows deployment features introduced after the RC release of Visual Studio 2012, shows how to deploy SQL Server editions other than SQL Server Compact, and shows how to deploy to Azure App Service Web Apps, see ASP.NET Web Deployment using Visual Studio.

Обзор Overview

В этом руководстве показано, как настроить две базы данных SQL Server Compact и ядро СУБД для развертывания. This tutorial shows how to set up two SQL Server Compact databases and the database engine for deployment.

Для доступа к базе данных программе университета Contoso требуется следующее программное обеспечение, которое должно быть развернуто вместе с приложением, поскольку оно не включено в .NET Framework: For database access, the Contoso University application requires the following software that must be deployed with the application because it is not included in the .NET Framework:

  • SQL Server Compact (ядро СУБД). SQL Server Compact (the database engine).
  • Универсальные поставщики ASP.NET (который позволяет системе членства в ASP.NET использовать SQL Server Compact) ASP.NET Universal Providers (which enable the ASP.NET membership system to use SQL Server Compact)
  • Entity Framework 5,0(Code First с миграцией). Entity Framework 5.0(Code First with Migrations).

Также необходимо развернуть структуру базы данных и некоторые (не все) данные в двух базах данных приложения. The database structure and some (not all) of the data in the application’s two databases must also be deployed. Как правило, при разработке приложения необходимо ввести тестовые данные в базу данных, которую не нужно развертывать на активном сайте. Typically, as you develop an application, you enter test data into a database that you don’t want to deploy to a live site. Однако вы также можете ввести некоторые рабочие данные, которые требуется развернуть. However, you might also enter some production data that you do want to deploy. В этом учебнике вы настроите проект университета Contoso, чтобы при развертывании включалось необходимое программное обеспечение и правильные данные. In this tutorial you’ll configure the Contoso University project so that the required software and the correct data are included when you deploy.

Напоминание. Если вы получаете сообщение об ошибке или что-то не работает при работе с этим руководством, обязательно ознакомьтесь со страницей устранения неполадок. Reminder: If you get an error message or something doesn’t work as you go through the tutorial, be sure to check the troubleshooting page.

SQL Server Compact и SQL Server Express SQL Server Compact versus SQL Server Express

В примере приложения используется SQL Server Compact 4,0. The sample application uses SQL Server Compact 4.0. Это относительно новая возможность для веб-сайтов. более ранние версии SQL Server Compact не работают в среде веб-хостинга. This database engine is a relatively new option for websites; earlier versions of SQL Server Compact do not work in a web hosting environment. SQL Server Compact предлагает несколько преимуществ по сравнению с более распространенным сценарием разработки с SQL Server Express и развертыванием в полной SQL Server. SQL Server Compact offers a few benefits compared to the more common scenario of developing with SQL Server Express and deploying to full SQL Server. В зависимости от выбранного поставщика услуг размещения SQL Server Compact может быть дешевле для развертывания, так как некоторые поставщики могут взимать дополнительную плату для поддержки полной базы данных SQL Server. Depending on the hosting provider you choose, SQL Server Compact might be cheaper to deploy, because some providers charge extra to support a full SQL Server database. Дополнительная плата за SQL Server Compact не взимается, так как вы можете развернуть ядро СУБД как часть веб-приложения. There is no extra charge for SQL Server Compact because you can deploy the database engine itself as part of your web application.

Однако следует также знать об ограничениях. However, you should also be aware of its limitations. SQL Server Compact не поддерживает хранимые процедуры, триггеры, представления или репликацию. SQL Server Compact does not support stored procedures, triggers, views, or replication. (Полный список SQL Server функций, которые не поддерживаются SQL Server Compact, см. в разделе различия между SQL Server Compact и SQL Server.) Кроме того, некоторые средства, которые можно использовать для управления схемами и данными в SQL Server Express и SQL Server базах данных, не работают с SQL Server Compact. (For a complete list of SQL Server features that are not supported by SQL Server Compact, see Differences Between SQL Server Compact and SQL Server.) Also, some of the tools that you can use to manipulate schemas and data in SQL Server Express and SQL Server databases do not work with SQL Server Compact. Например, нельзя использовать SQL Server Management Studio или SQL Server Data Tools в Visual Studio с базами данных SQL Server Compact. For example, you cannot use SQL Server Management Studio or SQL Server Data Tools in Visual Studio with SQL Server Compact databases. У вас есть и другие варианты работы с SQL Server Compact базами данных: You do have other options for working with SQL Server Compact databases:

  • В Visual Studio можно использовать обозреватель сервера, который предлагает ограниченные функции обработки баз данных для SQL Server Compact. You can use Server Explorer in Visual Studio, which offers limited database manipulation functionality for SQL Server Compact.
  • Можно использовать функцию обработки базы данных WebMatrix, которая имеет больше функций, чем обозреватель сервера. You can use the database manipulation feature of WebMatrix, which has more features than Server Explorer.
  • Вы можете использовать относительно полнофункциональные инструменты сторонних разработчиков или средства с открытым исходным кодом, такие как панель инструментов SQL Server Compact и SQL Compact Data и программа скриптов схемы. You can use relatively full-featured third-party or open source tools, such as the SQL Server Compact Toolbox and SQL Compact data and schema script utility.
  • Вы можете создавать и запускать собственные скрипты DDL (язык описания данных) для работы со схемой базы данных. You can write and run your own DDL (data definition language) scripts to manipulate the database schema.

Вы можете начать с SQL Server Compact, а затем выполнить обновление позже по мере развития потребностей. You can start with SQL Server Compact and then upgrade later as your needs evolve. В последующих руководствах этой серии показано, как выполнить миграцию с SQL Server Compact на SQL Server Express и SQL Server. Later tutorials in this series show you how to migrate from SQL Server Compact to SQL Server Express and to SQL Server. Однако если вы создаете новое приложение и предполагаете, что в ближайшем будущем требуется SQL Server, лучше всего начать с SQL Server или SQL Server Express. However, if you’re creating a new application and expect to need SQL Server in the near future, it’s probably best to start with SQL Server or SQL Server Express.

Настройка ядро СУБД SQL Server Compact для развертывания Configuring the SQL Server Compact Database Engine for Deployment

Программное обеспечение, необходимое для доступа к данным в приложении университета Contoso, было добавлено путем установки следующих пакетов NuGet: The software required for data access in the Contoso University application was added by installing the following NuGet packages:

Читайте также:  Установка багажника мазда сх5

Ссылки указывают на текущие версии этих пакетов, которые могут быть более новыми, чем установленные в начальном проекте, скачанном для этого руководства. The links point to the current versions of these packages, which might be newer than what is installed in the starter project that you downloaded for this tutorial. Для развертывания на поставщик услуг размещения убедитесь, что используется Entity Framework 5,0 или более поздней версии. For deployment to a hosting provider, make sure that you use Entity Framework 5.0 or later. В более ранних версиях Code First Migrations требуется полное доверие, и во многих поставщиках услуг размещения приложение будет работать со средним уровнем доверия. Earlier versions of Code First Migrations require Full Trust, and at many hosting providers your application will run in Medium Trust. Дополнительные сведения о среднем уровне доверия см. в руководстве развертывание в службах IIS в качестве тестовой среды . For more information about Medium Trust, see the Deploying to IIS as a Test Environment tutorial.

Установка пакета NuGet обычно занимает все необходимое для развертывания этого программного обеспечения с помощью приложения. NuGet package installation generally takes care of everything that you need in order to deploy this software with the application. В некоторых случаях это включает в себя такие задачи, как изменение файла Web. config и добавление сценариев PowerShell, выполняемых при каждом построении решения. In some cases, this involves tasks such as changing the Web.config file and adding PowerShell scripts that run whenever you build the solution. Если вы хотите добавить поддержку любой из этих функций (например, SQL Server Compact и Entity Framework) без использования NuGet, убедитесь, что вы знаете, что делает Установка пакета NuGet, чтобы вы могли выполнить ту же работу вручную. If you want to add support for any of these features (such as SQL Server Compact and Entity Framework) without using NuGet, make sure that you know what NuGet package installation does so that you can do the same work manually.

Существует одно исключение, при котором NuGet не берет все, что нужно, чтобы обеспечить успешное развертывание. There is one exception where NuGet doesn’t take care of everything you have to do in order to ensure successful deployment. Пакет NuGet Склсерверкомпакт добавляет в проект скрипт, выполняемый после сборки, который копирует машинные сборки в вложенные папки x86 и AMD64 в папке Project bin , но скрипт не включает эти папки в проект. The SqlServerCompact NuGet package adds a post-build script to your project that copies the native assemblies to x86 and amd64 subfolders under the project bin folder, but the script does not include those folders in the project. В результате веб-развертывание не будет копировать их на конечный веб-сайт, если они не включены в проект вручную. As a result, Web Deploy will not copy them to the destination web site unless you manually include them in the project. (Это происходит из-за конфигурации развертывания по умолчанию. другой вариант, который не используется в этих учебниках, заключается в изменении параметра, который управляет этим поведением. (This behavior results from the default deployment configuration; another option, which you won’t use in these tutorials, is to change the setting that controls this behavior. Параметр, который можно изменить, — это только файлы, необходимые для запуска приложения в разделе элементы для развертывания на вкладке Пакет/Публикация веб-сайта окна Свойства проекта . The setting that you can change is Only files needed to run the application under Items to deploy on the Package/Publish Web tab of the Project Properties window. Изменять этот параметр обычно не рекомендуется, так как это может привести к развертыванию большего количества файлов в рабочей среде, чем требуется. Changing this setting is not generally recommended because it can result in the deployment of many more files to the production environment than are needed there. Дополнительные сведения о альтернативных вариантах см. в руководстве по настройке свойств проекта . For more information about the alternatives, see the Configuring Project Properties tutorial.)

Выполните сборку проекта, а затем в Обозреватель решений щелкните » Показывать все файлы «, если вы еще не сделали этого. Build the project, and then in Solution Explorer click Show all Files if you have not already done so. Также может потребоваться нажать кнопку Обновить. You might also have to click Refresh.

Разверните папку bin , чтобы просмотреть папки AMD64 и x86 , а затем выберите эти папки, щелкните правой кнопкой мыши и выберите пункт включить в проект. Expand the bin folder to see the amd64 and x86 folders, and then select those folders, right-click, and select Include in Project.

Значки папок изменяются, чтобы показывать, что папка включена в проект. The folder icons change to show that the folder has been included in the project.

Настройка Code First Migrations для развертывания базы данных приложения Configuring Code First Migrations for Application Database Deployment

При развертывании базы данных приложений обычно не требуется развертывать базу данных разработки со всеми данными в рабочей среде, так как большая часть данных в ней, вероятно, существует только в целях тестирования. When you deploy an application database, typically you don’t simply deploy your development database with all of the data in it to production, because much of the data in it is probably there only for testing purposes. Например, имена учащихся в тестовой базе данных являются вымышленными. For example, the student names in a test database are fictional. С другой стороны, часто нельзя развертывать только структуру базы данных без каких бы то ни было данных. On the other hand, you often can’t deploy just the database structure with no data in it at all. Некоторые данные в тестовой базе данных могут быть реальными и должны быть там, когда пользователи начинают использовать приложение. Some of the data in your test database might be real data and must be there when users begin to use the application. Например, база данных может иметь таблицу, содержащую допустимые значения категории или имена реальных отделов. For example, your database might have a table that contains valid grade values or real department names.

Для имитации этого распространенного сценария вы настроите метод начального значения Code First Migrations, который вставляет в базу данных только те данные, которые должны находиться в рабочей среде. To simulate this common scenario, you’ll configure a Code First Migrations Seed method that inserts into the database only the data that you want to be there in production. Этот метод заполнения не вставляет проверочные данные, так как он будет выполняться в рабочей среде после того, как Code First создаст базу данных в рабочей среде. This Seed method won’t insert test data because it will run in production after Code First creates the database in production.

В более ранних версиях Code First до выпуска миграций были распространены методы инициализации для вставки тестовых данных, так как при каждом изменении модели во время разработки база данных была полностью удалена и создана заново с нуля. In earlier versions of Code First before Migrations was released, it was common for Seed methods to insert test data also, because with every model change during development the database had to be completely deleted and re-created from scratch. При использовании Code First Migrations тестовые данные сохранены после изменения базы данных, поэтому не требуется включать тестовые данные в метод заполнения. With Code First Migrations, test data is retained after database changes, so including test data in the Seed method is not necessary. Скачанный проект использует метод перед миграцией, включающий все данные в методе SEED класса инициализатора. The project you downloaded uses the pre-Migrations method of including all data in the Seed method of an initializer class. В этом учебнике вы отключите класс инициализатора и включите миграцию. In this tutorial you’ll disable the initializer class and enable Migrations. Затем вы обновите метод SEED в классе конфигурации миграции, чтобы вставить только те данные, которые необходимо вставить в рабочую среду. Then you’ll update the Seed method in the Migrations configuration class so that it inserts only data that you want to be inserted in production.

Читайте также:  Установка крана для умывальника

На следующей схеме показана схема базы данных приложения. The following diagram illustrates the schema of the application database:

В этих учебниках предполагается, что Student и Enrollment таблицы должны быть пустыми при первом развертывании сайта. For these tutorials, you’ll assume that the Student and Enrollment tables should be empty when the site is first deployed. Другие таблицы содержат данные, которые должны быть предварительно загружены, когда приложение становится активным. The other tables contain data that has to be preloaded when the application goes live.

Так как вы будете использовать Code First Migrations, больше не нужно использовать инициализатор Code First дропкреатедатабасеифмоделчанжес . Since you will be using Code First Migrations, you no longer have to use the DropCreateDatabaseIfModelChanges Code First initializer. Код для этого инициализатора находится в файле SchoolInitializer.cs в проекте ContosoUniversity. DAL. The code for this initializer is in the SchoolInitializer.cs file in the ContosoUniversity.DAL project. Параметр в элементе appSettings файла Web. config вызывает запуск этого инициализатора всякий раз, когда приложение пытается получить доступ к базе данных в первый раз: A setting in the appSettings element of the Web.config file causes this initializer to run whenever the application tries to access the database for the first time:

Откройте файл Web. config приложения и удалите элемент, указывающий класс инициализатора Code First из элемента appSettings. Open the application Web.config file and remove the element that specifies the Code First initializer class from the appSettings element. Элемент appSettings теперь выглядит следующим образом: The appSettings element now looks like this:

Другой способ указания класса инициализатора — это сделать, вызвав Database.SetInitializer в методе Application_Start в файле Global. asax . Another way to specify an initializer class is do it by calling Database.SetInitializer in the Application_Start method in the Global.asax file. Если вы включаете миграцию в проекте, который использует этот метод для указания инициализатора, удалите эту строку кода. If you are enabling Migrations in a project that uses that method to specify the initializer, remove that line of code.

Затем включите Code First Migrations. Next, enable Code First Migrations.

Первый шаг — убедиться, что проект ContosoUniversity задан как запускаемый проект. The first step is to make sure that the ContosoUniversity project is set as the startup project. В Обозреватель решенийщелкните правой кнопкой мыши проект ContosoUniversity и выберите Назначить запускаемым проектом. In Solution Explorer, right-click the ContosoUniversity project and select Set as Startup Project. Code First Migrations будет искать в проекте запуска, чтобы найти строку подключения к базе данных. Code First Migrations will look in the startup project to find the database connection string.

В меню Сервис щелкните Диспетчер пакетов NuGet, а затем щелкните Консоль диспетчера пакетов. From the Tools menu, click NuGet Package Manager and then Package Manager Console.

В верхней части окна консоли диспетчера пакетов выберите CONTOSOUNIVERSITY. DAL в качестве проекта по умолчанию, а затем в PM> строке введите «Enable-migrations». At the top of the Package Manager Console window select ContosoUniversity.DAL as the default project and then at the PM> prompt enter «enable-migrations».

Эта команда создает файл Configuration.CS в новой папке миграций в проекте ContosoUniversity. DAL. This command creates a Configuration.cs file in a new Migrations folder in the ContosoUniversity.DAL project.

Вы выбрали проект DAL, так как команда «включить миграцию» должна выполняться в проекте, содержащем класс контекста Code First. You selected the DAL project because the «enable-migrations» command must be executed in the project that contains the Code First context class. Если этот класс находится в проекте библиотеки классов, Code First Migrations ищет строку подключения к базе данных в запускаемом проекте для решения. When that class is in a class library project, Code First Migrations looks for the database connection string in the startup project for the solution. В решении ContosoUniversity веб-проект был задан как запускаемый проект. In the ContosoUniversity solution, the web project has been set as the startup project. (Если вы не хотите назначать проект со строкой подключения в качестве запускаемого проекта в Visual Studio, можно указать запускаемый проект в команде PowerShell. (If you did not want to designate the project that has the connection string as the startup project in Visual Studio, you can specify the startup project in the PowerShell command. Чтобы увидеть синтаксис команды для команды «включить миграцию», можно ввести команду «Get-Help Enable-migrations».) To see the command syntax for the enable-migrations command, you can enter the command «get-help enable-migrations».)

Откройте файл Configuration.cs и замените комментарии в методе Seed следующим кодом: Open the Configuration.cs file and replace the comments in the Seed method with the following code:

Ссылки на List имеют красные волнистые линии, так как у вас еще нет оператора using для ее пространства имен. The references to List have red squiggly lines under them because you don’t have a using statement for its namespace yet. Щелкните правой кнопкой мыши один из экземпляров List и выберите пункт Разрешить, а затем щелкните использование System. Collections. Generic. Right-click one of the instances of List and click Resolve, and then click using System.Collections.Generic.

Этот фрагмент меню добавляет следующий код к операторам using в верхней части файла. This menu selection adds the following code to the using statements near the top of the file.

Добавление кода в метод Seed является одним из множества способов вставки фиксированных данных в базу данных. Adding code to the Seed method is one of many ways that you can insert fixed data into the database. Альтернативой является добавление кода в методы Up и Down каждого класса миграции. An alternative is to add code to the Up and Down methods of each migration class. Методы Up и Down содержат код, который реализует изменения базы данных. The Up and Down methods contain code that implements database changes. Примеры можно увидеть в учебнике развертывание обновления базы данных . You’ll see examples of them in the Deploying a Database Update tutorial.

Кроме того, можно написать код, выполняющий инструкции SQL, с помощью метода Sql . You can also write code that executes SQL statements by using the Sql method. Например, если вы добавили столбец бюджета в таблицу отдел и хотите инициализировать все бюджеты отдела до $1 000,00 в рамках миграции, можно добавить следующую строку кода в метод Up для этой миграции: For example, if you were adding a Budget column to the Department table and wanted to initialize all department budgets to $1,000.00 as part of a migration, you could add the following line of code to the Up method for that migration:

Sql(«UPDATE Department SET Budget = 1000»);

В этом примере, показанном в этом руководстве, используется метод AddOrUpdate в методе Seed класса Code First Migrations Configuration . This example shown for this tutorial uses the AddOrUpdate method in the Seed method of the Code First Migrations Configuration class. Code First Migrations вызывает метод Seed после каждой миграции, и этот метод обновляет уже вставленные строки или вставляет их, если они еще не существуют. Code First Migrations calls the Seed method after every migration, and this method updates rows that have already been inserted, or inserts them if they don’t exist yet. Метод AddOrUpdate может быть не лучшим выбором для вашего сценария. The AddOrUpdate method might not be the best choice for your scenario. Дополнительные сведения см. в разделе о методе EF 4,3 AddOrUpdate в блоге Юлия Лерман. For more information, see Take care with EF 4.3 AddOrUpdate Method on Julie Lerman’s blog.

Нажмите клавиши CTRL + SHIFT + B, чтобы выполнить сборку проекта. Press CTRL-SHIFT-B to build the project.

Следующим шагом является создание класса DbMigration для первоначальной миграции. The next step is to create a DbMigration class for the initial migration. Необходимо, чтобы эта миграция могла создать новую базу данных, поэтому необходимо удалить уже существующую базу данных. You want this migration to create a new database, so you have to delete the database that already exists. SQL Server Compact базы данных содержатся в SDF файлы в папке приложения_данных . SQL Server Compact databases are contained in .sdf files in the App_Data folder. В Обозреватель решенийразверните Данные приложения_ в проекте ContosoUniversity, чтобы просмотреть две базы данных SQL Server Compact, которые представлены в SDF файлах. In Solution Explorer, expand App_Data in the ContosoUniversity project to see the two SQL Server Compact databases, which are represented by .sdf files.

Читайте также:  Установки аэрозольного автоматического пожаротушения

Щелкните правой кнопкой мыши файл School. sdf и выберите команду Удалить. Right-click the School.sdf file and click Delete.

В окне консоли диспетчера пакетов введите команду «добавить начальную миграцию», чтобы создать начальную миграцию и присвойте ей имя «Initial». In the Package Manager Console window, enter the command «add-migration Initial» to create the initial migration and name it «Initial».

Code First Migrations создает другой файл класса в папке migrations , и этот класс содержит код, создающий схему базы данных. Code First Migrations creates another class file in the Migrations folder, and this class contains code that creates the database schema.

В консоли диспетчера пакетоввведите команду Update-Database, чтобы создать базу данных и запустить метод SEED . In the Package Manager Console, enter the command «update-database» to create the database and run the Seed method.

(Если возникает ошибка, указывающая, что таблица уже существует и не может быть создана, возможно, приложение было запущено после удаления базы данных и перед выполнением update-database . (If you get an error that indicates a table already exists and can’t be created, it is probably because you ran the application after you deleted the database and before you executed update-database . В этом случае удалите файл School. sdf еще раз и повторите команду update-database .) In that case, delete the School.sdf file again and retry the update-database command.)

Запустите приложение. Run the application. Теперь страница учащихся пуста, но на странице инструкторов содержатся инструкторы. Now the Students page is empty but the Instructors page contains instructors. Это то, что вы получите в рабочей среде после развертывания приложения. This is what you will get in production after you deploy the application.

Теперь проект готов к развертыванию базы данных School . The project is now ready to deploy the School database.

Создание базы данных членства для развертывания Creating a Membership Database for Deployment

Приложение университета Contoso использует систему контроля членства ASP.NET и проверку подлинности с помощью форм для проверки подлинности и авторизации пользователей. The Contoso University application uses the ASP.NET membership system and forms authentication to authenticate and authorize users. Одна из ее страниц доступна только администраторам. One of its pages is accessible only to administrators. Чтобы просмотреть эту страницу, запустите приложение и выберите пункт Обновить кредиты во всплывающем меню в разделе курсы. To see this page, run the application and select Update Credits from the flyout menu under Courses. Приложение отображает страницу входа , так как только администраторы имеют право на использование страницы Обновление кредитов . The application displays the Log In page, because only administrators are authorized to use the Update Credits page.

Войдите в систему как «admin» с помощью пароля «PAS $ w0rd» (Обратите внимание на число нуля вместо буквы «o» в «w0rd»). Log in as «admin» using the password «Pas$w0rd» (notice the number zero in place of the letter «o» in «w0rd»). После входа в систему отобразится страница Обновление кредитов . After you log in, the Update Credits page is displayed.

При первом развертывании сайта обычно исключаются большинство или все учетные записи пользователей, создаваемые для тестирования. When you deploy a site for the first time, it is common to exclude most or all of the user accounts you create for testing. В этом случае вы развернете учетную запись администратора и не сможете использовать учетные записи пользователей. In this case, you’ll deploy an administrator account and no user accounts. Вместо того, чтобы удалять тестовые учетные записи вручную, вы создадите новую базу данных членства, имеющую только одну учетную запись администратора, необходимую в рабочей среде. Rather than manually deleting test accounts, you’ll create a new membership database that has only the one administrator user account that you need in production.

В базе данных членства хранится хэш паролей учетных записей. The membership database stores a hash of account passwords. Чтобы развернуть учетные записи с одного компьютера на другой, необходимо убедиться, что подпрограммы хэширования не создают на целевом сервере разные хэши, чем на исходном компьютере. In order to deploy accounts from one machine to another, you must make sure that hashing routines don’t generate different hashes on the destination server than they do on the source computer. Они будут создавать одинаковые хэши при использовании универсальные поставщики ASP.NET, если не изменить алгоритм по умолчанию. They will generate the same hashes when you use the ASP.NET Universal Providers, as long as you don’t change the default algorithm. Алгоритмом по умолчанию является HMACSHA256, который указывается в атрибуте проверки элемента machineKey в файле Web. config. The default algorithm is HMACSHA256 and is specified in the validation attribute of the machineKey element in the Web.config file.

База данных членства не обслуживается Code First Migrations, и не существует автоматического инициализатора, который заполняет базу данных тестовыми учетными записями (как и для базы данных School). The membership database is not maintained by Code First Migrations, and there is no automatic initializer that seeds the database with test accounts (as there is for the School database). Таким образом, чтобы обеспечить доступность тестовых данных, необходимо создать копию тестовой базы данных перед созданием новой. Therefore, to keep test data available you’ll make a copy of the test database before you create a new one.

В Обозреватель решенийпереименуйте файл ASPNET. sdf в папке app_Data в файл АСПнет-дев. sdf. In Solution Explorer, rename the aspnet.sdf file in the App_Data folder to aspnet-Dev.sdf. (Не создавайте копию, просто переименуйте ее — вы создадите новую базу данных чуть позже.) (Don’t make a copy, just rename it — you’ll create a new database in a moment.)

В Обозреватель решенийубедитесь, что выбран веб-проект (ContosoUniversity, а не CONTOSOUNIVERSITY. DAL). In Solution Explorer, make sure that the web project (ContosoUniversity, not ContosoUniversity.DAL) is selected. Затем в меню проект выберите Конфигурация ASP.NET , чтобы запустить средство администрирования веб-сайта(западноафриканскому). Then in the Project menu, select ASP.NET Configuration to run the Web Site Administration Tool(WAT).

Перейдите на вкладку Безопасность . Select the Security tab.

Щелкните Создание ролей или управление ими и добавьте роль администратора . Click Create or Manage Roles and add an Administrator role.

Вернитесь на вкладку Безопасность , щелкните создать пользователяи добавьте пользователя Admin в качестве администратора. Navigate back to the Security tab, click Create User, and add user «admin» as an administrator. Перед нажатием кнопки создать пользователя на странице Создание пользователя убедитесь, что установлен флажок Администратор . Before you click the Create User button on the Create User page, make sure that you select the Administrator check box. В этом руководстве используется пароль «PAS $ w0rd», и вы можете ввести любой адрес электронной почты. The password used in this tutorial is «Pas$w0rd», and you can enter any email address.

Закройте браузер. Close the browser. В Обозреватель решенийнажмите кнопку «Обновить», чтобы увидеть новый файл ASPNET. sdf . In Solution Explorer, click the refresh button to see the new aspnet.sdf file.

Щелкните правой кнопкой мыши ASPNET. sdf и выберите включить в проект. Right-click aspnet.sdf and select Include in Project.

Отличия разработки от рабочих баз данных Distinguishing Development from Production Databases

В этом разделе вы переименуете базы данных, чтобы версии разработки Счул-дев. sdf и АСПнет-дев. sdf, а рабочие версии — Счул-прод. sdf и АСПнет-прод. sdf. In this section, you’ll rename the databases so that the development versions are School-Dev.sdf and aspnet-Dev.sdf and the production versions are School-Prod.sdf and aspnet-Prod.sdf. Это не является обязательным, но это поможет вам предотвратить получение тестовых и рабочих версий баз данных. This isn’t necessary, but doing so will help keep you from getting test and production versions of the databases confused.

В Обозреватель решенийщелкните Обновить и разверните папку приложения_данных, чтобы просмотреть созданную ранее базу данных School. щелкните его правой кнопкой мыши и выберите пункт включить в проект. In Solution Explorer, click Refresh and expand the App_Data folder to see the School database that you created earlier; right-click it and select Include in project.

источник