Загрузка файла xap по требованию - PullRequest
3 голосов
/ 06 мая 2010

У меня есть приложение Silverlight под названием MyApp. Во время запуска MyApp загружает модуль MyApp.Main.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), он также работает нормально. В чем может быть проблема?

1 Ответ

0 голосов
/ 06 мая 2010

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

...