Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.


VersionDatumFörfattareKommentar
0.9

 

Skapat exempelkod
1.0

 

Upprättat dokument
1.1

 

Versionering


Under tidiga tester med Region Stockholm identifierades att deras Journalsystem, Take Care, jobbar med Chrome som en inbäddad webbläsare när man presenterar e-tjänsten (Webcert) och IdP:n (Ineras IdP).

...

Kodblock
languagec#
linenumberstrue
collapsetrue
class CustomResourceRequestHandler : ResourceRequestHandler
{
	protected override bool OnProtocolExecution(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request) 
	{
		Uri uri = new Uri(request.Url); 
		if (uri.Scheme == "siths")
		{
			return true;
		} 
		return false;
	}
}


2. Sedan skapas en factory-klass som returnerar vår implementation.

Kodblock
languagec#
firstline1
linenumberstrue
collapsetrue
public class CustomResourceRequestHandlerFactory : IResourceRequestHandlerFactory
{
	public bool HasHandlers => true; public IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
	{
		return new CustomResourceRequestHandler();
	}
}


3. Till sist pekar vi ut våran factory-klass för browser-instansen.

Kodblock
languagec#
firstline1
linenumberstruecollapsetrue
var browser = new ChromiumWebBrowser("https://enrollment.preacctest.ineratest.org")
{
	ResourceRequestHandlerFactory = new CustomResourceRequestHandlerFactory()
};
panel.Controls.Add(browser);

...