Silverlight 5 aplicații în afara browserului

După cum știți deja codul aplicației Silverlight este în fișierul XAP. Add-in browser-ul descarcă fișierul HAR de pe un server web și îl rulează pe computerul client. Din acest punct din nou pentru a accesa serverul web nu este necesară. Toate cod este executat la nivel local.

Astfel, aplicația Silverlight este dependentă de logează, dar nu trebuie neapărat să fie pus în aplicare pe o pagină web. De fapt, în cazul în care există o modalitate sigură de a efectua Silverlight în afara browser-ului add-on, ar trebui să fie, de asemenea, o modalitate de a rula o aplicație Silverlight fără un browser.

Acesta este un concept foarte important, care se bazează pe performanța aplicațiilor în afara browser-ului. Pentru lansarea unui utilizator accesează un site care permite descărcarea și instalarea aplicației Silverlight. După instalare, aplicația poate rula într-o fereastră separată pe desktop sau utilizând butonul de meniu „Start“. Aplicația este un browser funcționează cam în același mod ca și o aplicație Silverlight convențională, o pagină web găzduit. Utilizatorul poate chiar descărca și instala actualizarea de pe computerul client în mod automat.

În Silverlight 5 adaugă mai multe instrumente noi care sunt disponibile pentru aplicații cu fiduciar ridicat. Acum, aplicația poate crea ferestre noi, pentru a determina codul mașinii prin P / Invoke, pentru a obține acces la hard disk cu toate privilegiile utilizatorului curent, etc. Mai mult decât atât, aplicarea Silverlight 5 poate fi realizată cu un grad sporit de încredere în mediul de browser-ul, dar acest lucru necesită o configurație specială de partea de client.

Suport pentru aplicații în afara browserului

Primul pas este de a realiza că, deși aplicarea Silverlight rulează în afara browser-ului, dar el a folosit în mod implicit. Aplicația ascunde prezența a browser-ului.

Instrumente speciale sllauncher.exe (în Windows, acesta poate fi găsit în Program Files \ Microsoft Silverlight \) creează o fereastră de izolat este găzduit de control al browser-ului. browser gratuit tuturor comenzilor (bare de instrumente, butoane de navigare, preferințe, etc.), există doar rama goale.

Aplicații în afara browser-ul poate rula pe toate platformele care acceptă Silverlight, inclusiv Windows și Mac. Figura de mai jos prezintă o aplicație care rulează în afara browser-ului:

Silverlight 5 aplicații în afara browserului

Astfel, lipsa unui browser - nu mai mult decât o iluzie. De ce, atunci, ai nevoie de acest tratament? Există mai multe motive pentru a le utiliza:

Pentru a rula aplicația offline. De obicei, accesul la aplicație Silverlight este realizată prin intermediul unei pagini web situat într-o rețea globală sau locală. Ca urmare, utilizatorul nu poate rula aplicația în cazul în care nu există nici o conexiune la rețea. În același timp, după ce aplicația este instalată în afara browser-o copie local sunt copiate și salvate pentru totdeauna (desigur, până când îl ștergeți în mod explicit).

Suport pentru conexiuni nepermanente. Acest regim este motivul pentru utilizarea browser-ul similar cu cel anterior, dar este mai frecvent scenariu.

Mulți utilizatori (în special aplicarea laptop-uri portabile și conexiuni la internet wireless) nu au o legătură permanentă. Cu modul este browser-ul (și compus resurse disponibile) pot crea o aplicație funcțională, atât în ​​prezența cât și în absența compusului. Când este, cererea se poate referi la serviciul Web pentru a actualiza datele și de a efectua operațiunile necesare pe server. Atunci când nu există nici o legătură, utilizatorul poate continua să lucreze cu ei offline.

Obținerea de avantajele modului de încredere a crescut. Foarte important, modul de încredere a crescut are o serie de dezavantaje semnificative. În cele mai multe situații din viața reală în afara aplicației browser-ul creează o mai mare privilegiu de încredere.

Aplicațiile care rulează în afara browser-ului, au aceleași oportunități care se execută în browser. Cu toate acestea, există o diferență majoră între ele: alocarea inițială de spațiu pe disc. Silverlight Fiecare aplicație primește o „posesie“ zonă izolată cu atenție a discului, în care creează și stochează fișierele.

De obicei, o aplicație care rulează în browser-ul primește primele 1 MB de spațiu pe disc (capacitatea disponibilă poate fi crescută la cererea utilizatorului explicit). În același timp, în afara aplicației browser-ul primește un număr semnificativ mai - 25 MB, astfel încât pentru a mări spațiul disponibil nu este necesară aproape niciodată.

Crearea unei aplicații în afara browserului

Pentru a efectua aplicarea Silverlight din fereastra browser-ului, utilizatorul trebuie să-l instalați mai întâi la nivel local. Cu toate acestea, pentru dezvoltator de aplicații trebuie să permită în mod explicit instalarea prin efectuarea următoarelor etape:

Faceți dublu clic pe nodul în fereastra de proprietăți, Solution Explorer. o fereastră va apărea cu parametrii de configurare ale aplicației.

Deschideți fila Silverlight.

Bifați caseta Activare rulează o aplicație de browser (inclusiv performanța aplicațiilor în afara browser-ului).

(Opțional). Faceți clic pe out-of-Browser Settings (Setări aplicație în afara browser-ului). Aceasta deschide o fereastră în care puteți seta parametrii suplimentari de performanță:

Silverlight 5 aplicații în afara browserului

Următorii parametri de configurare suplimentari pot fi setate în fereastra:

Numele dat în bara de titlu, în care se afișează aplicația.

Dimensiunea inițială a ferestrei. După rularea aplicației, utilizatorul le poate schimba prin glisarea limitele. Dacă nu specificați lățimea și înălțimea va fi creat dimensionată fereastra 800x600 pixeli.

Setați fereastra locație manual

Dacă această opțiune este selectată, puteți introduce coordonatele colțul din stânga sus al ferestrei în pixeli. Dacă neînregistrat, Silverlight add-in este o fereastră în centrul ecranului.

Textul descriptiv afișat în fereastra de dialog pop-up care apare atunci când treceți peste o comandă rapidă de aplicație.

Setarea imaginilor utilizate în caseta de instalare și etichete.

Activați GPU accelerare

Dacă această opțiune este selectată, după ce utilizatorul face clic pe butonul din dreapta al mouse-ului în conținutul afișat Silverlight instal meniul aplicației. Dacă nebifat, procesul de instalare este de a fi pornit de software-ul.

Necesită încredere ridicată atunci când rulează în afara browser-ului

Acest pavilion specifică atribuirea aplicație îmbunătățită de statutul de încredere în urma căruia devine privilegii suplimentare. În acest caz, utilizatorul primește un avertisment de securitate atunci când este instalată aplicația.

valoarea introdusă în fereastra sunt stocate în fișierul OutOfBrowserSettings.xml. Silverlight deținut de proiect.

După efectuarea acestor operații, aplicația primește dreptul de a fi stabilite la nivel local și executate în afara browser-ului. Cu toate acestea, nu este necesar să se instaleze. Utilizatorul poate efectua într-o fereastră de browser într-un standard de Silverlight.

Instalarea aplicațiilor în afara browserului

Există două moduri de a instala. Când se folosește prima metodă, utilizatorul efectuează setarea în mod explicit. Pentru a face acest lucru, el trebuie să solicite pagina de pornire a aplicației, faceți clic dreapta în conținut Silverlight și selectați Instalare nume aplicație pe acest computer (Instalați aplicația de pe acest nume de aplicație pentru calculator):

Silverlight 5 aplicații în afara browserului

O altă modalitate este de a rula procedura de instalare software-ului prin apelarea Application.Install (). Nevoia lui de a apela la tratare a evenimentului, care răspunde la orice acțiune de utilizator. O astfel de acțiune poate fi, de exemplu, făcând clic pe butonul. Instalați () Metoda returnează valoarea reală, în cazul în care utilizatorul confirmă necesitatea de a instala și fals - dacă instalarea anulat.

Instalați () metoda poate crea următoarea problemă: dacă aplicația este deja instalat pe computer, acesta generează o excepție, chiar dacă utilizatorul rulează în prezent o aplicație într-un browser. Pentru a evita erorile, trebuie să verificați valoarea înainte de a apela Application.InstallState Instalați metoda (). Mai jos este codul pe care se ocupă de click pe butonul:

Puteți elimina elementul din meniul de configurare și Silverlight forțat pentru a instala o aplicație utilizând codul. Pentru a face acest lucru, debifați Afișare meniul de instalare (Arată meniul de instalare) fereastra out-of-Browser Settings (din setările de instalare ale aplicațiilor de browser). De obicei, face acest lucru atunci când aveți nevoie pentru a efectua înainte de a instala alte operații, cum ar fi colectarea de informații cu privire la apelul utilizator sau serviciu web.

Atunci când o cerere începe să se stabilească (de către utilizator sau prin utilizarea metodei Install ()), apare fereastra de instalare, vă solicită să confirmați necesitatea instalării:

Silverlight 5 aplicații în afara browserului

Următoarele informații sunt furnizate în fereastra de instalare:

Numele aplicație care indică domeniul în care este găzduit (sau un fișier care rulează la nivel local în cazul în care site-ul ASP.NET nu este utilizat).

Două casete de selectare vă permit să creați un element aplicație în meniul sistemului Start (Start) și comanda rapidă de pe desktop. Dacă ștergeți ambele casete, butonul OK va fi dezactivat, astfel încât instalația va deveni imposibilă. De asemenea, este important de remarcat faptul că punctul de aplicare a sistemului este creat în meniul de nivel superior, și nu în subgrupul.

Sistemul de operare Mac instal fereastră arată un pic, respectiv platforma de diferite particularități. De exemplu, nu există nici o casetă de validare, specificați crearea unei etichete. În schimb, utilizatorul trebuie să trageți nodul de aplicare în locul potrivit după instalare (ca de obicei instalate în aplicații Mac).

Comparați acest comportament cu instalarea unei aplicații standard de NET, și asigurați-vă că procesul de instalare Silverlight mult mai ușor de utilizat. Acest lucru se face pentru utilizatorii neexperimentați, speriat fraze de neînțeles legate de siguranță, nu a refuzat pentru a instala aplicația.

Procedura de instalare plasează aplicația într-un dosar generat aleator de profilul utilizatorului curent. Imediat după instalarea aplicației, acesta pornește automat într-o fereastră separată. Cu toate acestea, fereastra curentă a browserului rămâne deschisă. Ca rezultat, ecranul prezintă două instanță a cererii. Rezolva această problemă, puteți utiliza evenimente InstallStateChanged.

Setarea pictogramelor

Imagine afișată în fereastra de instalare implicită, mult mai bine decât în ​​pericol pictograma de avertizare. Cu toate acestea, puteți seta ieșirea unei chiar mai bine imagine a persoanei alese și natura cererii în cauză. Icoanele sunt utilizate în diferite părți ale aplicației care rulează în afara browser-ului:

imagine pixel 16x16 este utilizat în această pictograma aplicației în Start scoasă bara de titlu și meniul (Start).

imagine 32x32 este utilizat în pictograma de comandă rapidă de pe desktop și în alte pictograme mari.

Imagine 48x48 este afișată în Windows 8 meniul.

128x128 imaginea este afișată în fereastra de instalare.

Mai întâi trebuie să adăugați imaginea la proiect. Fiecare fișier de imagine trebuie să fie salvat în format PNG cu dimensiunile corecte. Pentru a organiza mai bine structura dosarul de proiect, plasați toate imaginile pe un subfolder, astfel AppIcons.

Apoi selectați fiecare imagine în fereastra Solution Explorer (Solution Explorer) și să alocați Build proprietatea de acțiune (Operațiunea de construcție) Conținut Valoarea (Conținut). Imaginile vor fi ambalate la HAR arhiva ca fișiere separate. În cele din urmă, deschide fereastra Out-of-Browser Settings (aplicații în afara setările browser-ului), și specificați pictograma corespunzătoare.

Figura prezintă fereastra de instalare cu imagini personalizate:

Silverlight 5 aplicații în afara browserului

Eliminare și actualizarea aplicațiilor în afara browserului

Acum, că sunteți familiarizat cu instalarea de aplicații în afara browser-ului, este posibil să se ia în considerare două sarcini legate de: actualizarea și aplicații ștergerea.

Eliminare (dezinstalarea) aplicația este simplă. Utilizatorul trebuie să faceți clic dreapta în zona de conținut (în fereastra browser-ului sau într-o fereastră aplicație separată în afara browser-ului) și selectați Eliminare Această comandă Aplicație din meniul contextual (ștergeți această aplicație). O casetă de dialog care vă solicită să confirmați ștergerea. Dacă utilizatorul face clic pe butonul OK, și o comandă rapidă pentru aplicație vor fi șterse. Îndepărtarea este întotdeauna efectuată la inițiativa utilizatorului, pentru că în clasa de aplicare nu este o metodă adecvată.

Update - mai mult proces complicat decât îndepărtarea. În Silverlight Procedura de built-add verifică automat existența unei versiuni noi. Actualizarea se face prin apelarea Application.CheckAndDownloadUpdateAsync (). Această metodă începe un proces asincron care verifică pentru a vedea dacă serverul web noua versiune a fișierului HAR. Real Numărul versiunii utilizate la compilarea aplicației, acest proces nu este afectat.

Următoarele verificări de cod pentru noi versiuni atunci când aplicația începe:

Microsoft recomandă să apelați metoda CheckAndDownloadUpdateAsync () ca răspuns la o acțiune de utilizator (de exemplu, faceți clic pe butonul Refresh).

De asemenea, puteți seta pentru a verifica pentru noile versiuni ale aplicației începe. În cazul în care conexiunea la rețea este activată, serverul Web este activă și serverul este fișierul XAP este nou, aplicația va descărca și de a genera eveniment Application.CheckAndDownloadUpdateCompleted automat.

După apelarea CheckAndDownloadUpdateAsync () utilizatorul nu poate anula actualizarea, la fel ca în Silverlight nu există nici un mijloc de a face acest lucru. În plus, aplicația poate verifica pentru versiuni noi, doar prin apelarea metodei CheckAndDownloadUpdateAsync (), astfel încât noua versiune va fi instalat. Cu toate acestea, actualizarea are efect numai după ce închideți și reporniți aplicația.

Dacă doriți ca utilizatorul să fie mutat la noua versiune imediat, puteți aduce la el un mesaj ca răspuns la evenimentul CheckAndDownloadUpdateCompleted:

Pentru a testa procesul de actualizare pentru a crea un site web ASP.NET. Este necesar deoarece Silverlight susține descărcarea versiunea actualizată de pe serverul Web. Descărcați-l din sistemul de fișiere local nu este posibilă. Cu toate acestea, pentru a testa procesul de actualizare folosind un computer local poate fi în continuare.

Visual Studio creează un program de pe computerul local este testat serverul web și selectează un număr de port aleator pentru ea. Dacă închideți și reporniți Visual Studio, se va alege pentru noul număr de port server de test, dar acest lucru este setat pentru a continua să utilizați o aplicație browser pentru a verifica dacă există actualizări numărul portului precedent. Încercarea de a face upgrade eșuează, și nici o excepție, nu sunt generate, iar mesajul nu este afișat până când nu ștergeți manual și re-a instala aplicația. Pentru a rezolva această problemă, puteți implementa aplicația Silverlight la un server de test IIS pe un computer local sau în rețeaua locală.