2011-04-26 1 views
1

après avoir déployé l'application sur le serveur IIS7, il semble bien au début et peut afficher la page de connexion. Mais après que l'utilisateur a entré le nom d'utilisateur et le mot de passe, je dois authentifier l'utilisateur avec la connexion DB. À ce moment, il affiche une erreur (joint). Je suppose que l'erreur est causée par la réflexion au cours de l'EntityFramwork charger les données DB.ASP MVC2 déploiement à IIS 7 avec l'erreur

Mon serveur a déjà été installé .net framework 3.5 sp1.

D'un autre côté, j'ai essayé un autre serveur. Si un serveur a été installé VS2008 et MVC2 package pour VS2008, ce serveur peut exécuter l'application correctement dans IIS7.

Mon but est d'exécuter l'application sur un serveur IIS7 avec .net framework 3.5 seulement.

S'il vous plaît aidez-moi à résoudre ce problème.

Les datails d'erreur:

Server Error in '/FDDV_demo' Application. 
-------------------------------------------------------------------------------- 

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
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.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 

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 Trace: 


[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.] 
    System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) +0 
    System.Reflection.Assembly.GetTypes() +111 
    System.Data.Metadata.Edm.AssemblyCacheEntry.LoadTypesFromAssembly(LoadingContext context) +28 
    System.Data.Metadata.Edm.AssemblyCacheEntry.InternalLoadAssemblyFromCache(LoadingContext context) +290 
    System.Data.Metadata.Edm.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly, Boolean loadReferencedAssemblies, Dictionary`2 knownAssemblies, Dictionary`2& typesInLoading, List`1& errors) +137 
    System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies) +284 
    System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType(Type type) +33 
    System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType(Type type, Assembly callingAssembly) +80 
    System.Data.Objects.ObjectContext.CreateQuery(String queryString, ObjectParameter[] parameters) +106 
    FDDV.Models.DBEntities.get_user_master() +113 
    FDDV.Controllers.HomeController.validateUser(String userid, String password) +254 
    FDDV.Controllers.HomeController.LogOn(LogOnModel model, String returnUrl) +134 
    lambda_method(ExecutionScope , ControllerBase , Object[]) +136 
    System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +178 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +24 
    System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() +53 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +258 
    System.Web.Mvc.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() +20 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +193 
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +316 
    System.Web.Mvc.Controller.ExecuteCore() +104 
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +36 
    System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +7 
    System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +34 
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21 
    System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12 
    System.Web.Mvc.Async.WrappedAsyncResult`1.End() +53 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +43 
    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +7 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8682542 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 




-------------------------------------------------------------------------------- 
Version Information: Microsoft .NET Framework Version:2.0.50727.4952; ASP.NET Version:2.0.50727.4955 
+0

Avez-vous des réponses de http://stackoverflow.com/questions/3206848 aide? –

+0

John Rasch. J'ai réinstallé le .net framework 3.5 sp1 mais l'application ne fonctionne pas non plus – Tom

Répondre

1

J'ai finalement résolu ce problème. La cause principale est que le projet a manqué certaines références d'assemblage. J'ajoute le code suivant à la fonction de connexion pour trouver l'exception de chargement du type de réflexion. Encore une fois, merci tout le monde est utile

try{ 
    //Do your work 

     } 
    catch (Exception ex) 
         { 

          ReflectionTypeLoadException exception = ex as ReflectionTypeLoadException; 

          if (exception == null) 
           System.IO.File.AppendAllText("C:\\TestLog.txt", "Not a ReflectionTypeLoadException ex."); 
          else 
          { 
           foreach (Exception loaderException in exception.LoaderExceptions) 
           { 
            System.IO.File.AppendAllText("C:\\TestLog.txt", loaderException.Message); 
            System.IO.File.AppendAllText("C:\\TestLog.txt", loaderException.StackTrace); 
           } 
          } 

          return true; 

         } 
0

Je me souviens vaguement d'avoir un problème similaire avec MVC 3 quand je mis à jour un projet de MVC 2 et a eu quelques problèmes de version dans mon web.config. Essayez d'activer la liaison du journal de l'assemblage de fusion et voyez si vous pouvez trouver ce que la charge échoue.

http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx

J'ai trouvé un script tout à l'heure qui m'a permis de travailler avec journal de fusion mieux dans IIS (j'avais des problèmes où il n'a pas couru dans IIS).

+0

Merci pour votre aide. – Tom

+0

L'Afficheur du journal de liaison d'assemblage est vide lorsque j'ouvre le site dans IE. Mais cela montre quelque chose quand j'ouvre SQL Server Management Studio. Je vous ai envoyé un e-mail pour demander le script. Merci – Tom

+0

Merci pour votre script – Tom