#cefsharp #testcomplete
#cefsharp #testcomplete
Вопрос:
У меня есть приложение Cefsharp, в котором есть Html-страницы с Javascript. Js выполняет вызовы API, что происходит нормально, если я открываю приложение cef в Windows, но большинство вызовов API не происходит, когда я открываю то же приложение cef через testcompelete.
При отладке приложения я получаю предупреждение CORS. Я использую CefCustomScheme, в котором указаны путь к корневой папке, имя схемы и имя хоста. И указал то же имя файла и имя хоста в адресе в теге wpf: chromiumwebrowse. Если я жестко задаю путь к корневой папке в привязке источника адреса, он работает нормально даже в testcomplete.
private static CefCustomScheme GetAlmanacScheme(IAppSettings appSettings)
{
try
{
var almanacFolder = appSettings.Settings["ALMANAC_WIDGET_PATH"];
if (string.IsNullOrWhiteSpace(almanacFolder))
{
almanacFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Thermo", "InstConnectAgent", "AlmanacWidget");
}
var factory = new FolderSchemeHandlerFactory(almanacFolder, "thermo", "almanac");
return new CefCustomScheme() { SchemeName = "thermo", SchemeHandlerFactory = factory, IsCorsEnabled = true };
}
catch
{
return null;
}
}
и источник
private const string WidgetUrl = "thermo://almanac";
public string Source
{
get
{
return WidgetUrl;
}
}
Комментарии:
1. Что вы подразумеваете под вызовом API?
2. Вызовы веб-API (HTTP-сервисы — get, post, put)
3. Вы проверили файл журнала? github.com/cefsharp/CefSharp/wiki/Trouble-Shooting#log-file
4. Я использовал chromium dev-tools для отладки на указанном порту, благодаря чему я узнал о предупреждении CORS.
5. Спасибо за предоставленную ссылку.