2010-05-06 4 views
3

У меня есть приложение Silverlight, называемое MyApp. Во время запуска MyApp загружает модуль MyApp.Main.xap с помощью следующего кода:Загрузка файла xap по запросу

WebClient wc = new WebClient(); 
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(onMainModuleLoaded); 
Uri uri = new Uri("MyApp.Main.xap", UriKind.Relative); 
wc.OpenReadAsync(uri); 

Работает. В MyApp.Main я хотел бы загрузить другой XAP файл MyApp.Billing.xap, так что я написал, как то же самое, что и выше

WebClient wc = new WebClient(); 
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(onBillingModuleLoaded); 
Uri uri = new Uri("MyApp.Billing.xap", UriKind.Relative); 
wc.OpenReadAsync(uri); 

но он выдает ошибку, сказав, что файл не найден. Файл MyApp.Billing.xap находится внутри папки ClientBin, и я могу загрузить его напрямую через абсолютный путь в браузере. Если я пытаюсь загрузить MyApp.Billing.xap изнутри MyApp.Main, но изнутри MyApp (вместо MyAPp.Main.xap) он также отлично работает. Что может быть проблемой?

ответ

0

Посмотрите, есть ли у вас больше возможностей, используя различные свойства на Application.Current.Host.Source, чтобы собрать полный (абсолютный) uri вместо того, чтобы пытаться использовать относительный (в конце концов, что это относительно?).