My Mobile App

Ad oggi sono riuscito a mettere sul Windows Phone Store 3 App divertenti:

Quiz Nautica (>5K download) http://www.windowsphone.com/it-it/store/app/quiz-nautica/f4fcd446-4873-4d76-a61f-fbc6afc7bef0 

Trattoria Romana (new entry) http://www.windowsphone.com/it-it/store/app/trattoria-romana/17a6f47b-9637-4c0e-ab13-068472b2105d 

happinApp (new entry) http://www.windowsphone.com/it-it/store/app/happinapp/acc5f2e4-62c8-4758-9462-4d6616d21166 

 

Le App sono state realizzate con Visual Studio 2013 Ultimate Edition, Windows Phone 8.1 SDK

 

 

 

 

 

 

 

Strumenti per l'Extension Manager di Visual Studio 2010 - SharePoint 2010

Alcuni simpatici strumenti che potete, gratuitamente, installare su Visual Studio 2010 a supporto dello sviluppo di applicazioni SharePoint 2010 sono:

  • CSK - Development Tools Edition (Foundation - Server e WTC)
  • Mavention Activate Selected Features
  • Mavention SharePoint Project Item References

CSK - Development Tools Edition

 

Mavention


Mavention è molto comodo per ritrovare i vari oggetti di SharePoint che man mano si creano nella solution, per esempio web parts - content types - lists, che automaticamente Visual Studio 2010 associa alle features presenti.

Volendo è possibile configurarlo per evitare che alla creazione degli oggetti di SharePoint questi vengano associati automaticamente ad una feature.

JetBrains dotPeek vs Reflector

Dopo che i nostri cari amici di Reflector hanno deciso di mettere a pagamento il loro prodotto e stanco di usare versioni trial o cercare quelle "farlocche" ho deciso di cercare un prodotto simile in versione free. 

L'ho trovato! Si chiama JetBrains dotPeek EAP 1.0 è possibile scaricarlo dal sito http://www.jetbrains.com/decompiler/

JetBrains consente di:

 

  • Disassemblare tutti gli assembly consentiti in C# dal Framework 1.0 al 4.0
  • Veloce navigazione in base ai tipi, assembly
  • Ricerca
  • Facile visualizzazione delle ereditarietà
  • Evidenzazione della sintassi
  • e molto altro ancora... 

 

Speriamo che questo rimanga nella versione free.

SharePoint Log Viewer 2010

Ho recentemente realizzato e pubblicato su CodePlex una utility per rendere migliore la visualizzazione dei LOGS di SharePoint 2010, non è necessaria nessuna installazione ed è facile da utilizzare.

Supporta la ricerca per GUID e per Descrizione e filtro per tipologia di log.

Potete trovarla su http://splogviewer2010.codeplex.com/

Microsoft Certified Technology Specialist

Oggi alle ore 15.00 mi sono certificato all'esame 070-503 Microsoft Windows Communication Foundation

Inizio esame: ore 14.30

Termine esame: ore 15.00

Prossimi post: Sviluppo con Windows Mobile 6.5

I prossimi post che sto organizzando tratteranno sull'approccio e le tecniche per lo sviluppo di applicazioni mobile in ambiente Windows Mobile 6.5, gli argomenti principali saranno:

  • Invio di email
  • Integrazione con il ricevitore GPS
  • Creazione di liste custom
  • Deploy e setup

Spero quanto prima di postare quanto suddetto.

Microsoft Certified Professional

Oggi alle ore 14.50 mi sono certificato all'esame 070-536 Microsoft .NET Framework, prossima meta 070-503 Windows Communication Foundation....

Inizio esame: ore 14.30

Termine esame: ore 14.50

Quando ho comunicato all'assistente che avevo terminato l'esame lei ha esclamato dicendo: "di già!??!?!"....

DataSet to XDocument

Per scrivere il contenuto di un DataSet all'interno di un XDocument basterà effettuare i seguenti passi:

//ds è il DataSet
StringWriter sw = new StringWriter();
ds.WriteXml(sw);
XDocument xdoc = XDocument.Parse(sw.ToString());

Il metodo WriteXml del DataSet offre anche altri overload, in questo caso ho utilizzato lo StringWriter.

Stranissimo comportamento dei Cookies con le MasterPage

Ho avuto la necessità di crearmi un cookie per memorizzare alcune informazioni in progetto che sto seguendo, questo l'ho fatto per evitare l'utilizzo di session o altri marchingegni di salvataggio delle varibili in tag html o addirittura passandomi ogni volta questi in querystring.

Dato che mi trovo ad utilizzare una Master Page decido di inserire nel Page_Load la creazione del suddetto cookie:

public partial class GUI_Inside : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
            if (!string.IsNullOrEmpty(Request.QueryString["sUser"]))
            {
                HttpCookie myCookie = new HttpCookie("UserSettings");
                myCookie["DomainAndUser"] = Request.QueryString["sUser"];
                myCookie.Expires = DateTime.Now.AddDays(1d);
                Response.Cookies.Add(myCookie); } else { if (Request.Cookies["UserSettings"] == null) Response.Redirect("AccessoNegato.aspx"); } lblUsername.Text = Request.Cookies["UserSettings"]["DomainAndUser"]; } }

Fino a questo punto tutto bene, il cookie viene creato (verificato con FireFox), ma appena passo su un'altra pagina...perdo il value del cookie (il nome rimane), allora ho provato a mettere questo codice nel Page_Load delle pagine aspx e indovinate che succede? il value del cookie rimane... faccio un'altra prova mettendo la web app sotto IIS (precedentemente utilizzavo il Virtual Web Server di Visual Studio, ma il risultato non cambia.

Soluzione:

Creo una classe che effettua questo controllo e la richiamo in ogni pagina, credo che la Master Page (che non è una vera pagina) sia interpretata come uno User Control perdendomi il value del cookie creato.

Dato lo scarso materiale trovato su internet spero di non aver scritto fesserie, nel caso fatemi sapere :D anzi se avete voi una soluzione comunicatemela che aggiorno il post.

Extension Method

Mi sono sempre chiesto come potevo estendere i metodi, per determinati tipi di dati, al fine di facilitarmi una serie di operazioni come una formattazione custom, nel caso di data; effettuare una replace, nel caso di stringhe o addirittura operazioni più complesse.

Dal framework 3.5 è possibile tutto ciò e vediamo come:

Prima di tutto creo una class library impostandola come public static class Extension e aggiungendo per ciascun metodo la seguente sintassi:

public static string ReplaceSQL(this string s)
{
return s.Replace("'", "''");
}

Come si può notare il metodo dovrà essere static e nella parte relativa al passaggio delle variabili dovrà essere specificato l'attributo this per agganciare quanto abbiamo realizzato nell'elenco metodi del tipo di dato indicato (this string).

In questo modo nel momento in cui la classe verrà aggiunta come riferimento e aggiunto il namespace al nostro progetto tutte le variabili il quale tipo è stato esteso troveremo il metodo che abbiamo realizzato, lo si potrà notare con l'intellisense dalla nuova icona introdotta rappresentata dal cubo viola con una freccia blu rivolta verso il basso.

Month List