0

Я использую Visual Studio 2015 Update 3. У меня есть ASP.NET MVC 4 сайт. Целевая структура: .NET Framework 4.5. У сайта есть своя база данных. Сайт работает локально и взаимодействует с базой данных ((LocalDb)\v11.0).Asp.net MVC сайт развернут Microsoft Azure веб-сайты бросает ошибку

Тогда я развернула сайт в Azure веб-сайтов через VS с помощью Опубликовать кнопку. Веб-приложение было успешно опубликовано. Но я не могу открыть его в браузере. Я получаю следующее сообщение об ошибке в браузере:

Server Error in '/' Application.

The system cannot find the file specified

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack след:

[Win32Exception (0x80004005): The system cannot find the file specified] 

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)] 
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) +1000 
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +800 
    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +38 
    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +741 
    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +85 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +451 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +108 
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +943 
    System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +143 
    System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +22 
    System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +139 
    System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +367 
    System.Data.SqlClient.SqlConnection.Open() +129 
    WebMatrix.Data.Database.EnsureConnectionOpen() +47 
    WebMatrix.Data.<QueryInternal>d__0.MoveNext() +67 
    System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source) +183 
    WebMatrix.Data.Database.QuerySingle(String commandText, Object[] args) +98 
    WebMatrix.WebData.DatabaseWrapper.QuerySingle(String commandText, Object[] parameters) +19 
    WebMatrix.WebData.SimpleMembershipProvider.CheckTableExists(IDatabase db, String tableName) +54 
    WebMatrix.WebData.SimpleMembershipProvider.CreateTablesIfNeeded() +50 
    WebMatrix.WebData.WebSecurity.InitializeMembershipProvider(SimpleMembershipProvider simpleMembership, DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean createTables) +71 
    WebMatrix.WebData.WebSecurity.InitializeProviders(DatabaseConnectionInfo connect, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) +51 
    WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection(String connectionStringName, String userTableName, String userIdColumn, String userNameColumn, Boolean autoCreateTables) +55 
    OnlineAuction.MvcApplication.SetSecurityOptions() +60 
    OnlineAuction.MvcApplication.Application_Start() +51 

[HttpException (0x80004005): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)] 
    System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +477 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +350 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +303 

[HttpException (0x80004005): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)] 
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +657 
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +96 
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +189 

Вот моя строка подключения к БД в Web.config:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=OnlineAuctionDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OnlineAuctionDb.mdf" providerName="System.Data.SqlClient"/> 

Я загрузил весь Web.config fi ле в DropBox


ли проблема с базой данных или нет? Я опубликовал весь сайт, используя Опубликовать кнопку в VS. Но может быть, база данных не привязана к облачному веб-приложению? Я не уверен. Если проблема связана с отсутствующей базой данных, как я могу публиковать базу данных, связанную с веб-сайтом, чтобы они работали вместе?

ответ

1

Проблема, безусловно, в том, что веб-сайт не может найти или связаться с базой данных. Есть несколько способов сделать это, но вам нужно будет выяснить, как вы хотите, чтобы ваша база данных будут организованы - это выглядит, как вы используете SQL, так что ваши варианты:

  1. SQL Express/LocalDB на экземпляр, что ваш сайт работает на
  2. Azure SQL DB (который будет размещен в лазурь и доступный ваш сайт)
  3. SQL Server размещаются в виртуальных машинах в лазури
  4. Другой SQL база данных размещается в другом месте (в помещении может быть) и могут быть получены гибридным соединением

Я бы порекомендовал вариант 2, так как он дает вам управляемое решение из коробки, которое может масштабироваться с вашим приложением, но является сетевым адресом, поэтому несколько экземпляров вашего веб-приложения могут делиться им, автоматически создавать резервные копии и т. Д. и т. д.

Возможно, поделитесь дополнительной информацией о том, что у вас есть или что вы имеете в виду, чего вы пытаетесь достичь?

+0

Я создал базу данных SQL в Azure. Пробовал подключиться к моему веб-приложению и SQL, это не удалось: https://stackoverflow.com/questions/40699106/how-to-deploy-asp-net-mvc-site-with-existing-database-to-microsoft-azure-web -app – Chichi

+0

Эта другая ссылка имеет совершенно другой сбой - она ​​подключается, но схема не была создана –

Смежные вопросы