2014-12-03 3 views
0

Привет всем, Я управляю сайтом, написанным на asp.net mvc4. Однако я внесла определенные изменения в макеты и стили CSS, которые я хотел опубликовать, чтобы обновить текущий сайт. Перед публикацией все работало нормально, и когда я был в процессе публикации, я убедился, что я не касался файла web.config. Я только проверял файлы, которые хочу обновить, что было главным образом изменением Html и css.Ошибка при публикации веб-сайта

После публикации и я попытался войти, я начал получать сообщение об ошибке говорящего

Error 
An error occurred while processing your request. 

Пожалуйста, помогите мне. Я могу предоставить любую другую информацию, которая поможет мне решить эту проблему.

, когда я попробовал один я имел на моем локальном хосте я получил эту ошибку

You must call the "WebSecurity.InitializeDatabaseConnection" method before you call any other method of the "WebSecurity" class. This call should be placed in an _AppStart.cshtml file in the root of your site. 

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.InvalidOperationException: You must call the "WebSecurity.InitializeDatabaseConnection" method before you call any other method of the "WebSecurity" class. This call should be placed in an _AppStart.cshtml file in the root of your site. 

Source Error: 


Line 36:   public ActionResult Login(LoginModel model, string returnUrl) 
Line 37:   { 
Line 38:    if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) 
Line 39:    { 
Line 40:     //return RedirectToLocal(returnUrl); 

Source File: c:\Users\IBN HAMZA\Documents\Visual Studio 2012\Projects\Zedvance\Zedvance\Controllers\AccountController.cs Line: 38 

Stack Trace: 


[InvalidOperationException: You must call the "WebSecurity.InitializeDatabaseConnection" method before you call any other method of the "WebSecurity" class. This call should be placed in an _AppStart.cshtml file in the root of your site.] 
    WebMatrix.WebData.SimpleMembershipProvider.VerifyInitialized() +50 
    WebMatrix.WebData.WebSecurity.VerifyProvider() +36 
    WebMatrix.WebData.WebSecurity.Login(String userName, String password, Boolean persistCookie) +14 
    Zedvance.Controllers.AccountController.Login(LoginModel model, String returnUrl) in c:\Users\IBN HAMZA\Documents\Visual Studio 2012\Projects\Zedvance\Zedvance\Controllers\AccountController.cs:38 
    lambda_method(Closure , ControllerBase , Object[]) +147 
    System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +182 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27 
    System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28 
    System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +10 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 
    System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +58 
    System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +225 
    System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +225 
    System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +10 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 
    System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24 
    System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +99 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 
    System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 
    System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 
    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29 
    System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 
    System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 
    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9657896 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 
+1

Набор '<режим CustomErrors =«Off»/>' в вашем web.config, чтобы проверить полную ошибку –

+0

@Vsevolod я должен сделать это на живого сайта или моего локального хоста? – ibnhamza

+0

, если он работает на вашем сайте localhost и не работает на вашем сайте, а затем делайте его там. Если он не работает на вашем локальном сайте, тогда вы должны получить YSOD или увидеть исключение в VS –

ответ

0

После просмотра ошибки, которые вы получаете, проблема, кажется, тот факт, что вы призваны WebSecurity перед инициализацией соединения ,

Отредактируйте файл, который бросает эту ошибку так:

public ActionResult Login(LoginModel model, string returnUrl) 
{ 
    if (!WebSecurity.Initialized) 
    { 
     WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); 
    } 
+0

извините, я не понимаю «Единственный способ исправить это на самом деле заключается в повторном развертывании всего веб-сайта, за исключением того, что ваш файл web.config». Не будет ли это влиять на базу данных? – ibnhamza

+0

Разве ваша база данных не находится удаленно? Как SQL Server? –

+0

Проверьте обновленный ответ. –