Czy mogę używać Awesomeium w aplikacji internetowej?
Próbuję wyrenderować kod HTML, aby wyeksportować go do obrazu, a następnie użyć tego obrazu, aby umieścić go w dokumencie PDF. Robię wszystko w aplikacji internetowej asp.net/C#. Problem, który mam, polega na tym, że gdy robię to więcej niż raz, daje mi ten błąd:
You are attempting to re-initialize the WebCore. The WebCore must only be initialized once per process and must be shut down only when the process exits.
To jest mój kod:
WebCore.Initialize(new WebConfig(), false);
using (WebView webView = WebCore.CreateWebView((pdfWidth - 80).ToString().ToInt() + 20, (pdfHeight / 2).ToString().ToInt() + 20))
{
webView.LoadHTML(html);
while (webView.IsLoading || !webView.IsDocumentReady)
WebCore.Update();
Thread.Sleep(1100);
WebCore.Update();
string fileName = Server.MapPath("result." + DateTime.Now.Second.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Millisecond.ToString() + ".png");
BitmapSurface surface = (BitmapSurface)webView.Surface;
surface.SaveToPNG(fileName, true);
WebCore.Shutdown();
}
Myślę, że nie mogę zainicjować WebCore za każdym razem, gdy renderuje się strona internetowa, więc umieściłem go w Global.asax. Po wykonaniu tego, podczas debugowania, pojawił się inny błąd:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt. The current thread is not currently running code or the call stack could not be obtained.
Jakieś pomysły, jak mogę to zrobić?
Dzięki