Ich habe ein vb.net-Projekt (.net 4) geschrieben, das perfekt auf meinem Windows 7-Rechner zu funktionieren scheint, und scheint gut zu funktionieren, wenn es auf einem Windows Server 2003-Server veröffentlicht wird .Nach jedem Recycling eines Worker-Prozesses tritt anscheinend ein .net-Fehler auf. Nur wenn ich entity-framework verwende
Das Problem kommt nach ein paar Stunden auf meinem Server, ich bekomme die berüchtigten "nicht in der Lage, einen oder mehrere der angeforderten Typen zu laden. Holen Sie die LoaderExceptions-Eigenschaft für weitere Informationen". Ich habe dieses Problem bei Verwendung von Visual Studio überhaupt nicht gesehen.
Das scheint mir zu sagen, dass ein Verweis auf eine DLL/etwas aufgrund eines Cache-Prozesses verloren geht. Das Hochladen von irgendetwas zu diesem Ordner behebt das Problem (einschließlich einer test.txt-Datei) vorübergehend. Nach einigen Stunden kehrt das Problem zurück.
Ich habe die Indexierung der Suche auf dem Server deaktiviert und versichert, dass der Server auf dem neuesten Stand ist. Aber der Fehler wird immer wieder angezeigt. (bei Untersuchung wird jedes Mal, wenn der Worker-Prozess wiederverwendet wird, zurückgegeben)
Das Problem scheint nur bei bestimmten ascx-Dateien aufzutreten. Diese Dateien verweisen auf eine EntityDataSource, die auf eine Befehlstabelle verweist.
Auch habe ich versucht, die Loaderexceptions zu erhalten und alle anderen Daten mit dem folgenden Code:
Try
OrdersTable.DataBind()
Catch ex As ReflectionTypeLoadException
Response.Write(ex.Message)
If (Not ex.InnerException Is Nothing) Then
Response.Write(ex.InnerException.Message)
Response.Write(ex.LoaderExceptions)
For Each Parameter As DictionaryEntry In ex.Data
Dim key As Object = Parameter.Key
Dim value As Object = Parameter.Value
Response.Write(key & ":" & value & "<br>\n")
Next
End If
Response.End()
End Try
Alles geschrieben wird, sind die gleichen Fehler wie vor „Kann eine oder mehrere zu laden ...“
Neu im .net-Framework, so dass alle Vorschläge sehr geschätzt werden :).
Bearbeiten: Stack-Trace angehängt.
[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) +0
System.Reflection.RuntimeModule.GetTypes() +4
System.Reflection.Assembly.GetTypes() +78
System.Data.Metadata.Edm.ObjectItemConventionAssemblyLoader.LoadTypesFromAssembly() +32
System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() +25
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData) +160
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action1 logLoadMessage, Object& loaderCookie, Dictionary2& typesInLoading, List1& errors) +166
System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies, EdmItemCollection edmItemCollection, Action1 logLoadMessage) +316
System.Data.Metadata.Edm.ObjectItemCollection.ExplicitLoadFromAssembly(Assembly assembly, EdmItemCollection edmItemCollection, Action1 logLoadMessage) +53
System.Data.Metadata.Edm.MetadataWorkspace.ExplicitLoadFromAssembly(Assembly assembly, ObjectItemCollection collection, Action1 logLoadMessage) +93
System.Data.Metadata.Edm.MetadataWorkspace.LoadFromAssembly(Assembly assembly, Action1 logLoadMessage) +130
System.Web.UI.WebControls.EntityDataSourceView.ConstructContext() +585
System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +76
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75
System.Web.UI.Control.EnsureChildControls() +102
System.Web.UI.Control.PreRenderRecursiveInternal() +42
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496
Dump den Stack-Trace vielleicht? –
Aus der Sicht Ihres Problems wird Ihr Problem durch Zurücksetzen des Anwendungspools "gelöst". Erstellen Sie während der Laufzeit Ihrer Anwendung überhaupt neue ASPX/ASCX-Dateien? –
Der Stacktrace hinzugefügt, nicht sicher, was es daraus zu machen tbh. –