System.Net.Browser.PolicyBasedWebRequest.SilverlightPolicyCallback C# (CSharp) Method

SilverlightPolicyCallback() private method

private SilverlightPolicyCallback ( IAsyncResult result ) : void
result IAsyncResult
return void
		private void SilverlightPolicyCallback (IAsyncResult result)
		{
			WebRequest wreq = (result.AsyncState as WebRequest);
			BrowserHttpWebResponse wres = (BrowserHttpWebResponse) wreq.EndGetResponse (result);

			policy = CrossDomainPolicyManager.BuildSilverlightPolicy (wres);
			if (policy != null) {
				// we got our policy so we can proceed with the main request
				GetResponse (this.Method, uri, true);
			} else {
				// no policy but we get a second chance to try a Flash policy
				Uri flash_policy_uri = CrossDomainPolicyManager.GetFlashPolicyUri (wres.ResponseUri);
				BrowserHttpWebRequestInternal preq = new BrowserHttpWebRequestInternal (null, flash_policy_uri);
				preq.BeginGetResponse (new AsyncCallback (FlashPolicyCallback), preq);
			}
		}