4 messaggi dal 21 settembre 2010
Ciao a tutti son Antonio

sto cercando un modo per crear una gallery con silverlight 3 almeno
sono alle prime armi
Ho provato a seguire il tutorial che c'è qui sul sito ma non riesco ad accedere alla 2° pagina nonostante sia loggato, non capisco qual'è il problema, ho contattato chi si occupa del sito ma nessuna risposta

Potete aiutarmi o darmi un indirizzo dove poter torvare una guida che spieghi con metodo il modo di lavorar in silverlight e sviluppare questo tipo di applicazione?

Ringrazio anticipatamente tutti
Questo è il link della pagina a cui non riesco ad accedere.
http://www.silverlightitalia.com/articoli/silverlight/realizzare-sito-completo-galleria-fotografica-silverlight-3.0-p-2.aspx

xXx
Se è solo la pagina 2 te la riposto qui, mentre Alessio e Daniele verificano

La classe data: accesso al file system

Proseguiamo creando un progetto di tipo Class Library nel quale programmeremo la logica del così detto strato di "servizi", attraverso il quale esporremo le immagini per essere visualizzate nell'applicazione. Questo progetto è di tipo Class Library del .NET Framework, poichè sarà utilizzato dall'applicazione web. In realtà, un dettaglio importante che illustreremo in seguito, è che non andremo a creare dei completi web service .NET, ma esporremo le informazioni sulle immagini con strutture XML attraverso normali richieste Http. Tale scelta è dettata dalla semplicità delle funzionalità di cui abbiamo bisogno, e anche dalla facilità con cui è possibile fare il deploy di questo tipo di "servizi", entreremo nel dettaglio nel prossimo paragrafo.

Come abbiamo già detto, recupereremo le immagini direttamente dal file system, quindi procediamo alla creazione della classe "Gallery" con i metodi "GetAlbums" e "GetPictureOfAlbums": entrambi recuperano le informazioni accedendo alle cartelle del sito web e popolano rispettivamente collezioni IList<Album> e IList<Picture>. Analizziamo brevemente il codice di GetAlbums:

Esempio 3 - C#
string baseUrl = System.Configuration.ConfigurationSettings.AppSettings["BaseUrl"].ToString();
string imageFolderName = System.Configuration.ConfigurationSettings.AppSettings["ImageFolder"].ToString();

public IList<Album> GetAlbums()
{
IList<Album> albums = new List<Album>();

string mainGalleryPath = String.Format("{0}/{1}", baseUrl, imageFolderName);

DirectoryInfo dirInfo = new DirectoryInfo(HttpContext.Current.Server.MapPath(imageFolderName));
try
{
DirectoryInfo[] tempAlbums = dirInfo.GetDirectories();
foreach (var item in tempAlbums)
{
Album alb = new Album();
alb.Title = item.Name;
alb.Folder = item.Name;

if (item.GetFiles().Count() > 0)
alb.ImageFileName = String.Format("{0}imageservice.axd?IF={1}/{2}/{3}&H=90", baseUrl, imageFolderName, item.Name, item.GetFiles("*.jpg")[0].Name);

albums.Add(alb);
}
}
catch
{
}

return albums;
}
Abbiamo parametrizzato "baseUrl" e "imageFolderName" in modo che possano essere configurati senza la necessità di ricompilare il codice, queste informazioni saranno definite nel web.config dell'applicazione web. Elaborato il path della cartella e recuperato il corrispondente oggetto DirectoryInfo, il codice esegue un ciclo per ogni cartella che trova al suo interno, popola la collezione tempAlbums con i corrispondenti oggetti Album e, più interessante, valorizza la proprietà "ImageFileName" con il path della prima immagine presente nella cartella. utilizzeremo il valore di questa proprietà per visualizzare una immagine rappresentativa dell'album nell'elenco grafico dell'applicazione. Il metodo GetPicturesOfAlbum è del tutto analogo con la particolarità che costruisce la collezione di oggetti Picture partendo dalla directory specificata come parametro.

Proseguiamo creando due metodi corrispondenti ai precedenti appena creati, responsabili di creare le strutture XML che descrivono i dati: "GetXMLAlbums" e "GetXMLPicturesOfAlbum". Attraverso l'utilizzo di LINQ to XML, essi creano la struttura XML elaborando le corrispondenti collezioni e restituendo il tutto sotto forma di stringa:

Esempio 4 - C#
public string GetXMLAlbums()
{
IList<Album> _albums = this.GetAlbums();

XDocument doc = new XDocument(
new XElement("albums",
from alb in _albums
select new XElement("album",
new XElement("Title", alb.Title),
new XElement("Folder", alb.Folder),
new XElement("ImageFileName", alb.ImageFileName)
)));
return doc.ToString();
}
Come possiamo vedere dal codice, grazie all'aiuto di Linq tale operazione è veramente semplice.

I servizi: esponiamo le immagini con HttpHandler di ASP.NET

Completato lo strato di accesso ai dati, proseguiamo definendo le modalità di esposizione degli XML programmando due HttpHandler nel sito web ASP.NET: Albums.ashx e PicturesOfAlbum.ashx. Anche per coloro che non hanno mai affrontato questo tipo di operazione, grazie alla procedura guidata di Visual Studio è tutto veramente immediato. Un HttpHandler, definito come nuovo tipo di elemento del progetto, è una classe che entra nell'elaborazione da parte dell'engine di ASP.NET in modo analogo ad una pagina aspx, ma senza l'infrastruttura della pagina, che non è necessaria. L'utilità di un HttpHandler è proprio quella di intercettare la richiesta Http e la semplicità con cui possiamo elaborare i dati restituiti. Per le nostre esigenze i due handler saranno richiamati dall'applicazione Silverlight ed esporranno direttamente l'XML, così come visibile nel codice seguente:

Esempio 5 - C#
namespace ASPItalia.WebSiteGallery.Web
{
public class Albums : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/xml";
Gallery _service = new Gallery();
context.Response.Write(_service.GetXMLAlbums());
}

public bool IsReusable
{
get
{
return false;
}
}
}
}
Nell'unico metodo ProcessRequest andiamo ad intercettare il contesto della richiesta Http, definiamo il content type di risposta come testo XML e andiamo semplicemente a fare il response dell'XML restituito dal nostro strato dati. Nell'handler PicturesOfAlbum facciamo accesso anche ai parametri in querystring, per recuperare il nome della cartella della quale esporre le relative immagini.

Gianluca
http://www.gianlucaesposito.it
Prima di tutto ti consiglio di leggere qualche articolo sul pattern MVVM, prendendo spunto da Google ti posso consigliare questo:
http://www.silverlightshow.net/items/Data-Driven-Applications-with-MVVM-Part-I.-The-Basics.aspx

A quest' indirizzo invece troverai un'esempio di galleria immagini MOLTO minimale (e se non ricordo male non rispetta il pattern MVVM, ma se ti è chiaro il concetto non ci metterai molto ad applicarlo tu)
http://www.shinedraw.com/animation-effect/silverlight-3-vs-flash-10-sliding-image-gallery/

Ciao :)

Davide Guida
Technical Architect @ Razorfish Healthware
http://davideguida.altervista.org
Ciao! se invece a te serve una gallery da implementare nel tuo progetto questa poptrebbe essere una soluzione:
http://www.silverlight-blog.it/?p=63
Volendo potresti prendere spunto anche da questa (semplicemnte leggendo il file xap)

altrimenti se ti serve sapere come crearne una nuova partendo da zero allora puoi seguire i consigli che ti hanno gia dato...

Creazione Siti Vicenza
Posizionamento Siti - SEO
io invece ho aggiunto i commenti alla galleria dell'articolo, con possibilità di modifica e cancellazione da parte dell'utente e notifica nuovi commenti, senza bisogno di registrazione, il tutto con l'aiuto di sqlite... ora manca l'accesso diretto alla foto relativa al commento, il problema è il tempo e non ho ancora la strada da seguire... trasformare il tutto in navigation app ed invocare direttamente la pagina si può fare?

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
4 messaggi dal 21 settembre 2010
purtroppo nanche le altre pagine mi si vedono sembra un problema col login ma da chi di competenza non ho ancora avuto risposta...

non riesco a d accedere a nessun tutorial

xXx
4 messaggi dal 21 settembre 2010
Ringrazio tutti appena riesco proverò le vostre soluzioni intanto no nreisco a d accedere a nessuna delle pagine oltre la prima dei tutoria silverlight
capita anche a voi?

xXx
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
"TonyFox" <TonyFox> wrote in message
news:366157@...
Ringrazio tutti appena riesco proverò le vostre soluzioni intanto no nreisco a d accedere a nessuna delle pagine oltre la prima dei tutoria silverlight
capita anche a voi?
Ciao,
potresti provare a cancellare i cookie oppure da un altro browser? Io riesco a vedere correttamente il tutto, mi spiace per l'inconveniente.

Alessio Leoncini (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.