Нарушение прав доступа Awesomium при доступе к API файловой системы HTML5

Обновление №1

Для ясности и облегчения чтения следующая строка представляет собой наименьший код в приложении HTML5, вызывающий сбой моего Awesomium.

window.webkitStorageInfo.requestQuota(webkitStorageInfo.PERSISTENT,1,function() {}, function() {});

Детали

Я новичок в Awesomium, и я надеялся, что, возможно, кто-то еще сталкивался с этим раньше или может иметь представление, как это исправить.

Я создаю приложение WPF с Awesomium WebControl< /strong> для Awesomium 1.7.3. Одна из веб-страниц, которые я использую, использует API файловой системы HTML5. .

Когда я запускал свое приложение в режиме отладки Visual Studio, я пытался выполнить функциональность в приложении HTML5, которое использовало бы API файловой системы. Как только это произойдет, я получу это всплывающее окно:

vshost32.exe перестал работать Проблема привела к тому, что программа перестала работать правильно. Теперь Windows закроет программу и уведомит вас, если  решение есть.

Если бы я нажал кнопку Отладка, вместо этого появилось бы это диалоговое окно с предупреждением:

Отладчик подключен, но не настроен для отладки этого необработанного исключения. Чтобы отладить это исключение, отсоедините текущий отладчик.

Я посмотрел в средстве просмотра событий Windows и нашел для этого Error.

Faulting application name: GeocortexApp.Windows.vshost.exe, version: 11.0.50727.1, time stamp: 0x5011d445
Faulting module name: awesomium.dll, version: 1.7.3.0, time stamp: 0x52698ef3
Exception code: 0xc0000005
Fault offset: 0x00a6d8a6
Faulting process id: 0x31c4
Faulting application start time: 0x01cee6500cc5ec54
Faulting application path:    C:\Development\GeocortexApp\_Trunk\GeocortexApp.Windows\bin\Debug\GeocortexApp.Windows.vshost.exe
Faulting module path: C:\WINDOWS\Microsoft.Net\assembly\GAC_32\Awesomium.Core\v4.0_1.7.3.0__e1a0d7c8071a5214\awesomium.dll
Report Id: c8d0cd0d-5244-11e3-be84-b8ca3aa5c3db
Faulting package full name: 
Faulting package-relative application ID: 

Я отладил свое веб-приложение HTML5 и смог отследить проблему до одной строки:

window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024, successFunction, errorFunction);

Как только я выполняю эту единственную строку кода, мое приложение WPF закрывается. Кто-нибудь знает, как обойти это?


person Jamie Starke    schedule 21.11.2013    source источник


Ответы (1)


Я не очень хорошо знаком с Awesomium или WPF.

Однако я знаю, что ваша целевая строка javascript HTML5 для API файловой системы устарела почти 6 месяцев назад. Кроме того, новый код для этой строки будет следующим или чем-то очень похожим.

navigator.webkitPersistentStorage.requestQuota(1024*1024, 
  function(grantedBytes){
  window.requestFileSystem(PERSISTENT, grantedBytes, successFunction, errorFunction);
}, errorFunction);

ИЛИ (разница в том, что successFunction будет выполнять запрос файловой системы. Я предполагаю, что следующий вызов будет правильным, но опять же, я не знаком со всем остальным)

navigator.webkitPersistentStorage.requestQuota(1024*1024,successFunction,errorFunction);

Надеюсь это поможет!

person Arthur Weborg    schedule 09.12.2013
comment
Спасибо ArtyMcFly. Awesomium основан на Chrome 18, поэтому я не удивлен, увидев, что он использует устаревшие методы :) - person Jamie Starke; 10.12.2013