WCF e Windows Service
Un aspetto molto interessante di Windows Communication Foundation è la possibilità di ospitare un servizio WCF all’interno di un servizio di Windows.
Read more

Sicurezza in WCF
In una tecnologia che permette lo scambio di messaggi SOAP tra clients e servizi risulta essere di estrema importanza la sicurezza legata all’intero processo cui sono sottoposte queste informazioni.
In questo senso WCF integra nella sua piattaforma tecnologie ormai più che consolidate, già esistenti.
Read more

Service Behaviors
Il controllo del threading process e la gestione delle istanze di un servizio avviene per mezzo dei Service Behaviors.
Di questi attributi, ne distinguiamo due tipi: service behavior (attributo di classe) e operation behavior (attributo di operazione), entrambi con il loro set di proprietà disponibili.
Read more

Consumare un servizio WCF, un approccio diverso…
Negli esempi visti sino ad ora, quando abbiamo avuto bisogno di consumare un servizio WCF non abbiamo fatto altro che contattare l’endpoint attraverso Visual Studio e successivamente istanziare un oggetto della classe del servizio, proprio come se l’avessimo creata in locale, potendo così usufruire delle operazioni offerte.
Read more

Chi sviluppa abitualmente applicazioni Windows Form ha spesso l’esigenza di implementare uno, o più thread diversi da quello principale, il più delle volte per ragioni di performance e attraverso essi accedere ai controlli dell’applicazione.
Read more

Nelle precedenti sezioni abbiamo parlato dei WCF Contracts e del ruolo fondamentale che essi intraprendono in questa tecnologia.
Nei due progetti di esempio inoltre abbiamo avuto modo di mettere in pratica, se pur parzialmente, quanto spiegato in linea teorica riguardo la loro implementazione, in particolare quella dei Service Contracts.
In questa parte del tutorial esamineremo un pò più nel dettaglio i Contracts in WCF prestando particolare attenzione ai loro attributi e inserendo vari code snippet per poter meglio comprendere i concetti che verranno esposti.
Read more

In questa terza e successive parti del tuotiral cercheremo di concretizzare alcuni importanti aspetti teorici definiti nella sezione precedente con esempi pratici.
Read more

In questa seconda parte del tutorial prenderemo in esame esclusivamente concetti teorici, in particolare vedremo come si compone l’architettura di WCF.
Read more

WCF, acronimo di Windows Communication Foundation è una tecnologia Microsoft disponibile a partire dal Framework 3.0 con il principale scopo di rappresentare un modello di comunicazione tra sistemi distribuiti indipendetemente dalle piattaforme su cui ci si trova. Uno degli aspetti certamente più interessanti è che un servizio WCF può essere esposto attraverso quattro diversi protocolli: HTTP, TCP, MSMQ e Named Pipe.
Read more

Chi programma con linguaggi tipici del mondo Open Source, come Perl, Python, Ruby o Lisp, è abituato da anni ad utilizzare una shell interattiva per provare espressioni ed istruzioni al volo prima di inserirle all’interno di programmi più corposi. Nel caso di Python, il comando è python, mentre nel caso della versione ufficiale di Ruby è irb. Ad esempio, questa potrebbe essere una sessione in Ruby da parte di un principiante:

C:\>irb
>> my_string = "visualcsharp.it"
=> "visualcsharp.it"
>> my_string[0,12]
=> "visualcsharp"
>>

Questo tipo di shell non fa altro che leggere, valutare le espressioni, stamparne il risultato e poi cominciare da capo. Gli anglofoni direbbero che si tratta del cosiddetto read-eval-print loop (REPL).

C# è sempre stato un linguaggio più statico e rigido rispetto ai linguaggi sopracitati, e la mancanza di una funzione eval vera e propria ha fatto sì che per anni i programmatori C# non potessero avvalersi di uno strumento così utile come la shell interattiva. Gli sviluppatori del progetto Mono, port cross-platform del .NET framework, hanno deciso di cambiare lo status quo nella comunità C# introducendo CsharpRepl, un tool che mancava davvero dalla cassetta degli attrezzi dei dotnettari. Il tutto è possibile grazie ad un’opportuna modifica al compilatore, per fargli eseguire il codice generato invece di salvarlo in un file. Con CsharpRepl, sarà ora possibile eseguire snippet di codice senza dover compilare ed eseguire l’intero progetto:

csharp> using System.IO;
csharp> from f in Directory.GetFiles ("/etc")
      >   let fi = new FileInfo (f)
      >   where fi.LastWriteTime > DateTime.Now-TimeSpan.FromDays(7) select f;
{ "/etc/adjtime", "/etc/asound.state", "/etc/mtab", "/etc/printcap", "/etc/resolv.conf" }
csharp>

La pagina del tool ha maggiori informazioni su come installare e usare il comando csharp (che richiede Mono 2.2).

Next Page →