2011-01-26 19 views
5

E' possibile per il client silverlight ottenere una qualsiasi delle informazioni sulla versione dell'assieme dal file xap scaricato.E 'possibile ottenere un numero di versione dal file XAP

In sostanza, ho bisogno di un modo per il client per confermare che in realtà è in esecuzione gli ultimi bit, se c'è un modo migliore sono aperto ai suggerimenti.

risposta

9

Se si sta tentando di controllare mentre l'applicazione è in esecuzione si potrebbe portare in System.Reflection e fare qualcosa del genere:

Assembly assembly = Assembly.GetExecutingAssembly(); 
if (assembly.FullName != null) 
{ 
    string versionPart = assembly.FullName.Split(',')[1]; 
    string version = versionPart.Split('=')[1]; 

    // check version against something 
} 
+0

Mi chiedo perché FullName è Ok, ma GetName() è un'eccezione di sicurezza. –

+0

Non sono sicuro del perché, ma MSDN dice di non utilizzare GetName() in Silverlight: http://msdn.microsoft.com/en-us/library/9w2wdeze(VS.95).aspx –

0

Per il client il suo ok da questa seguente codice

public static string getAsmVersionInfo() 
    { 
     return "v " + ParseVersionNumber(Assembly.GetExecutingAssembly()).ToString(); 
    } 

    public static Version ParseVersionNumber(Assembly assembly) 
    { 
     AssemblyName assemblyName = new AssemblyName(assembly.FullName); 
     return assemblyName.Version; 
    } 

Ma come possiamo imparare dal lato web? Mi piacerebbe mostrare come Titolo index.aspx. C'è un xap nella directory ClientBin /. Dobbiamo raggiungere dll all'interno di esso dal lato server.

Per il titolo questa un'altra soluzione disponibile cambiamento di pagina aspx dal lato client http://blogs.msdn.com/b/zainala/archive/2008/11/23/changing-html-page-title-from-silverlight.aspx

Problemi correlati