2015-10-27 3 views
0

Мне нужно создать 2 полностью изолированных AppDomain и запустить 2 отдельных копии Awesomium.WebCore (я не могу запустить 2 копии в одном приложении). Проблема в том, что когда я создаю вторую копию WebCore в другом AppDomain, я получаю такую ​​же ошибку, как если бы я создал ее в одном AppDomain.Как создать два изолированных AppDomain

Как создать AppDomain:

AppDomain.CreateDomain(RandomHelper.NextString(10)); 

ошибка, когда я пытаюсь инициализировать Awseomium.WebCore во второй раз:

Необработанное исключение типа 'System.AccessViolationException' произошло в Awesomium.Core.dll

Дополнительная информация: Попытка чтения или записи защищенной памяти. Это часто свидетельствует о том, что другая память повреждена.

+0

Может быть, вы хотите сказать нам, что сообщение об ошибке вы» re видение, вместо того, чтобы спросить, как создать «AppDomain», который вы уже знаете, как это сделать. –

+0

Благодарим вас за ответ. Эта ошибка возникает только для Awesomium.WebCore, когда я пытаюсь ее инициализировать во второй раз. Я отправил ti на эту тему. – user3763845

+0

Вы не имеете ничего общего с AppDomains в целом, но с конкретным продуктом, который используете. Посмотрите на принятый ответ дубликата. Согласно документации Awesomeium, вы получаете AccessViolationException, как правило, когда вы «пытаетесь получить доступ к элементу из потока, отличного от потока, где был создан WebCore». –

ответ

0

Я не имею никаких проблем с этой линии:

AppDomain.CreateDomain(RandomHelper.NextString(10)); 

Но я вещь лучше, чтобы использовать этот конструктор:

public static AppDomain CreateDomain(
    string friendlyName, 
    Evidence securityInfo, 
    AppDomainSetup info, 
    PermissionSet grantSet, 
    params StrongName[] fullTrustAssemblies 
) 
+0

Спасибо за ответ, может быть, проблема с этим? 'Item item = (Item) _appDomain.CreateInstanceAndUnwrap ( typeof (Item) .Assembly.FullName, " InnerThreading.Item ");' – user3763845

Смежные вопросы