Я размещаю два приложения на одном веб-сайте в IIS. Главное приложение создает состояние сеанса, когда пользователь входит в систему. Я могу разделить сеанс между двумя приложениями, но когда я пытаюсь получить доступ к указанной переменной сеанса c, я получаю ошибку десериализации, показанную ниже. В моем втором приложении я загружаю dll (в Global.asax во время запуска), который, по его словам, отсутствует. Я даже подтверждаю, что он был загружен до доступа к сеансу, но все равно выдает ошибку. Загруженная библиотека находится из того же каталога и имеет ту же строку сборки, на которую он жалуется.
Возможно, он загружает ее в другой домен приложения? Кто-нибудь знает, почему до сих пор не работает? Любые предложения были бы замечательными.
(Невозможно найти двоичный файл) ![enter image description here](https://i.stack.imgur.com/DMufb.png)
(Подтверждено, что DLL правильно загружается при запуске для второго приложения) ![enter image description here](https://i.stack.imgur.com/QdVtJ.png)
> [SerializationException: Unable to find assembly 'Jenzabar.Portal.Framework, Version=0.0.0.0, Culture=neutral,
> PublicKeyToken=null'.]
> System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly()
> +4491385
> System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo
> assemblyInfo, String name) +14472268
> System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String
> objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA,
> Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader
> objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo,
> SizedArray assemIdToAssemblyTable) +179
> System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped
> record) +278
> System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
> +914
> System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
> handler, __BinaryParser serParser, Boolean fCheck, Boolean
> isCrossAppDomain, IMethodCallMessage methodCallMessage) +169
> System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
> serializationStream, HeaderHandler handler, Boolean fCheck, Boolean
> isCrossAppDomain, IMethodCallMessage methodCallMessage) +288
> System.Web.Util.AltSerialization.ReadValueFromStream(BinaryReader
> reader) +1064
> System.Web.SessionState.SessionStateItemCollection.ReadValueFromStreamWithAssert()
> +68
> System.Web.SessionState.SessionStateItemCollection.DeserializeItem(String
> name, Boolean check) +256
> System.Web.SessionState.SessionStateItemCollection.get_Item(String
> name) +29
> ASP._Page_Views_Account_Login_cshtml.Execute() in C:\inetpub\wwwroot\auxtest\Views\Account\Login.cshtml:25
> System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +252
> System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +148
> System.Web.WebPages.StartPage.ExecutePageHierarchy() +86
> System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext
> pageContext, TextWriter writer, WebPageRenderingBase startPage) +107
> System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +375
> System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1
> filters, Int32 filterIndex, ResultExecutingContext preContext,
> ControllerContext controllerContext, ActionResult actionResult) +88
> System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1
> filters, Int32 filterIndex, ResultExecutingContext preContext,
> ControllerContext controllerContext, ActionResult actionResult) +775
> System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext
> controllerContext, IList`1 filters, ActionResult actionResult) +81
> System.Web.Mvc.Async.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult
> asyncResult) +188
> System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult
> asyncResult) +38
> System.Web.Mvc.<>c.<BeginExecuteCore>b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +26
> System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
> asyncResult) +68
> System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
> System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
> asyncResult) +39
> System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
> System.Web.Mvc.<>c.<BeginProcessRequest>b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +40
> System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult
> asyncResult) +68
> System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
> System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
> +602
> System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
> System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +128