Việc tải các mô-đun OnDemand Prism có hoạt động trong bộ quét OOB không? Nếu vậy, tôi dường như không thể làm cho nó hoạt động được. Tất cả mọi thứ hiện đang làm việc trong trình duyệt mà không có bất kỳ vấn đề. Cụ thể là tôi: đăng ký module của tôi trong mã:Sẽ Prism OnDemand mô-đun tải công việc trong một scotio OOB?
protected override IModuleCatalog GetModuleCatalog() {
var catalog = new ModuleCatalog();
Uri source;
if(Application.Current.IsRunningOutOfBrowser) {
source = IsolatedStorageSettings.ApplicationSettings[SOURCEURI] as Uri;
}
else {
var src = Application.Current.Host.Source.ToString();
src = src.Substring(0, src.LastIndexOf('/') + 1);
source = new Uri(src);
IsolatedStorageSettings.ApplicationSettings[SOURCEURI] = source;
IsolatedStorageSettings.ApplicationSettings.Save();
}
if(source != null) {
var mod2 = new ModuleInfo { InitializationMode = InitializationMode.OnDemand,
ModuleName = ModuleNames.mod2,
ModuleType = "mod2.Module, mod2.Directory, '1.0.0.0', Culture=neutral, PublicKeyToken=null"),
Ref = (new Uri(source, "mod2.xap")).AbsoluteUri };
catalog.AddModule(mod2);
}
// per Jeremy Likeness - did not help.
Application.Current.RootVisual = new Grid();
return (catalog);
}
yêu cầu sau cho các mô-đun được nạp được thực hiện:
mModuleManager.LoadModule(ModuleNames.mod2);
và chờ đợi một phản ứng với một sự kiện được công bố trong thời gian khởi tạo đó được nạp mô-đun.
Mô-đun này dường như không bao giờ được tải và khi ứng dụng đang chạy trong trình gỡ lỗi, sẽ có hộp thông báo cho biết máy chủ web trả lại lỗi 'không tìm thấy'. Tôi có thể lấy url yêu cầu cho mô-đun và nhập nó vào Firefox và tải xuống mô-đun mà không có vấn đề gì.
Tôi chưa thể tìm thấy bất kỳ tham chiếu nào đến điều này thực sự có thể thực hiện được, nhưng có vẻ như nó phải như vậy. Phần lớn nhất tôi tìm thấy về chủ đề là blog entry by Jeremy Likeness, bao gồm các mô-đun tải trong MEF, nhưng việc áp dụng kiến thức của mình ở đây không có tác dụng.
Máy chủ là máy chủ cục bộ (Tôi đã nghe nói rằng điều này có thể gây ra sự cố). Máy chủ có tệp clientaccesspolicy.xml - mặc dù tôi không mong đợi điều đó là cần thiết. Tôi đang sử dụng ngăn xếp client và đăng ký nó trong quá trình thi ứng dụng:
WebRequest.RegisterPrefix(Current.Host.Source.GetComponents(UriComponents.SchemeAndServer, UriFormat.UriEscaped), WebRequestCreator.ClientHttp);
câu hỏi followup:
tất cả các xaps có thể được cài đặt vào máy tính để bàn của khách hàng trong một số cách - hoặc chỉ XAP ứng dụng chính? chỉ định chúng trong appmanifest.xml bằng cách nào đó ??
Có đáng để thực hiện tác vụ này nếu chỉ ứng dụng.x.x được cài đặt và phần còn lại của các xaps phải được tải xuống không?
Tôi cũng tò mò muốn biết câu trả lời này - Tôi đang làm việc OOB và cần chia nhỏ dự án của mình ... – Rodney