Миграция приложения ASP.Net-MVC на новый сервер - PullRequest
1 голос
/ 18 февраля 2010

Итак, в основном я разработал это приложение ASP.Net MVC на Windows 7 с Visual Studio 2008. Он хорошо работает на локальной машине, и я смог разместить его в IIS, не беспокоясь. Затем я решил загрузить его в Subversion и загрузить на другом компьютере с Windows Server 2008. Я загрузил его, установил в корневой папке документа IIS папку приложения и запустил его.

Хорошо, я могу зайти на сайт. Однако, как только ему нужно что-то сделать с базой данных SQL, я получаю следующую ошибку:

При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)

Моя строка подключения к базе данных SQL выглядит следующим образом:

    <add name="UserClaimsConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserClaims.mdf;Integrated Security=True;User Instance=True"
  providerName="System.Data.SqlClient" />

Ошибка вызывает колебание о разрешении удаленных подключений, но база данных является локальной! Кроме того, когда я смотрю на StackTrace ошибки, я вижу что-то странное в одной части:

OpenIdProviderMvc.Models.ClaimRepository.ResetAutoSend(String upi) in C:\OpenIdProviderMvc\Models\ClaimRepository.cs:40

Каталог, на который он ссылается, находится там, где я его хранил ... в окне разработки! Он хранится в другом месте на сервере Windows 2008.

Где я ошибся при переносе этого проекта?

EDIT: Вот полная трассировка стека, чтобы предоставить немного дополнительной информации.

[SqlException (0x80131904): при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)] System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое прерывание соединения) +4846887 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) +194 System.Data.SqlClient.TdsParser.Connect (ServerInfo serverInfo, SqlInternalConnectionTds connHandler, логическое значение ignoreSniOpenTimeout, Int64 timerExpire, логическое шифрование, логическое значение trustServerCert, логическое интегрированноеSecurity + SqlConnection486) System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, String newPassword, логический ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (Строковый хост, String newPassword, логический redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +376 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, логическое перенаправленноеUserInstance) +221 System.Data.SqlClient.SqlInternalConnectionTds..ctor (идентификатор DbConnectionPoolIdentity, SqlConnectionString connectionOptions, поставщик объектаInfo, строка newPassword, SqlConnection owningObject, логический redirectedUserInstance) +189 System.Data.SqlClient.SqlConnectionFactory.CreateConnection (параметры DbConnectionOptions, Object poolGroupProviderInfo, пул DbConnectionPool, DbConnection owningConnection) +4861315 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnection owningConnection, пул DbConnectionPool, параметры DbConnectionOptions) +31 System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject) +433 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject) +66 System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) +499 System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) +65System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory) +117 System.Data.SqlClient.SqlConnection.Open () +122 System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection (пользователь IConnectionUser) +44 System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe () +45 System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode () +20 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute (запрос выражения) +57 System.Data.Linq.DataQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +35 OpenIdProviderMvc.Models.ClaimRepository.ResetAutoSend(String upi) in C:\Downloads\DotNetOpenAuth-3.3.1.9337\OpenIdProviderMvc\Models\ClaimRepository.cs:40 OpenIdProviderMvc.Controllers.AccountController.LogOn(String userName, String password, String returnUrl, Boolean resetAttributeRelease) in C:\Downloads\DotNetOpenAuth-3.3.1.9337\OpenIdProviderMvc\Controllers\AccountController.cs:66 lambda_method(ExecutionScope , ControllerBase , Object[] ) +245 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 параметра) +178 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) +24 System.Web.Mvc.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7() +53 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func 1 продолжение) +258 System.Web.Mvc. <> C__DisplayClassc.b__9 () +20 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters (ControllerContext controllerContext, параметры IList 1 filters, ActionDescriptor actionDescriptor, IDictionary 2) +193 System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext controllerContext, String actionName) +382 System.Web.Mvc.Controller.ExecuteCore () +123 System.Web.Mvc.ControllerBase.Execute (RequestContext requestContext) +23 System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute (RequestContext requestContext) +7 System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) +144 System.Web.Mvc.MvcHandler.ProcessRequest (HttpContext httpContext) +54 System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) +7 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +181 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно) + 75

Ответы [ 2 ]

0 голосов
/ 19 февраля 2010

Вам необходимо установить SQL Server 2008 Express на сервер, если он еще не установлен. ASP.NET необходим SQL Server Express, установленный для вложения файла базы данных mdf в каталог данных.

Вы можете скачать его здесь

0 голосов
/ 19 февраля 2010

Путь в трассировке стека, вероятно, указывает на какой-то путь на вашем компьютере разработчика, потому что это то, что находится в файлах .pdb (они были добавлены в Subversion?). Я не думаю, что это связано с ошибкой соединения, и вам, вероятно, придется разобраться с этим отдельно.

...