Могу ли я создать новый AppDomain без удаленного контекста вызова?

У нас есть код, который создает новый домен приложения для выполнения ненадежных вычислений.

Мы сталкиваемся с исключением сериализации, создающим новый домен приложения из-за некоторых данных, которые хранятся в:

System.Runtime.Remoting.Messaging.CallContext

Нам удалось убедиться, что очистка данных перед созданием домена приложения устранила проблему.

System.Runtime.Remoting.Messaging.CallContext.SetData( "USER_ACTIONS_LOGGED", null);

Но мне интересно, есть ли способ создать новый домен приложения, чтобы он не использовал существующий удаленный CallContext?

В противном случае мы, вероятно, можем попытаться получить данные, очистить их и восстановить позже. Но это кажется далеким от идеала.

Наше исключение:

      System.Runtime.Serialization.SerializationException
  HResult=0x8013150C
  Message=Type is not resolved for member 'PL.Data.UserActions.ButtonAction,PLDefinition...'.
  Source=mscorlib
  StackTrace:
   at System.AppDomain.InternalCreateInstanceFromWithNoSecurity(String assemblyName, String typeName)
   at CodeDOMScripting.Sandboxer.RunSandboxed(String fullPathToCompiledDll, String className, String methodName, List`1 parameterNames, List`1 parameters, Int32& refCalctime, String& traceMessagesString)

  This exception was originally thrown at this call stack:
    [External Code]
    CodeDOMScripting.Sandboxer.RunSandboxed(string, string, string, System.Collections.Generic.List<string>, System.Collections.Generic.List<System.AddIn.Contract.RemoteArgument>, ref int, ref string) in Sandboxer.cs

0 ответов

Другие вопросы по тегам