Messaggistica in .NET Compact Framework

Aggiornamento: novembre 2007

Il sottoinsieme di Windows Communication Foundation (WCF) implementato in .NET Compact Framework fornisce un modello di programmazione unificato per la compilazione di applicazioni orientate ai messaggi. Consente agli sviluppatori di compilare applicazioni di messaggistica protette che funzionano su piattaforme diverse e supportano l'interazione con servizi WCF esistenti sul desktop.

Nota:

WCF è supportato in .NET Compact Framework versione 3.5 e versioni successive.

Architettura

Il livello di messaggistica WCF per .NET Compact Framework è stato creato in base all'architettura WCF desktop standard. Il livello di messaggistica è supportato nei dispositivi mobili, ai quali consente di connettersi a un servizio WCF esistente nel computer desktop. Il livello di runtime del servizio non è presente nei dispositivi.

Nell'illustrazione riportata di seguito vengono mostrati lo stack di canale, i protocolli associati e gli elementi di associazione WCF.

Livello di messaggistica WCF su .NET Compact Framework

Livello messaggistica per WCF in .NET Compact Framework

Il supporto della specifica WS-Security versione 1.0 include la sicurezza dei messaggi SOAP mediante i certificati X.509.

La classe Message viene compilata in base alla specifica WS-Addressing.

Differenze con l'implementazione desktop

.NET Compact Framework non supporta l'insieme completo di associazioni e protocolli supportati nei computer desktop. Per ulteriori informazioni su associazioni e protocolli specifici supportati, vedere il diagramma dell'architettura riportato nella sezione precedente.

Il livello di runtime del servizio non è supportato in .NET Compact Framework. Di conseguenza, per la connessione a un servizio WCF esistente nel computer desktop valgono le considerazioni riportate di seguito:

  • È necessario modificare alcune impostazioni del file Web.config. Per ulteriori informazioni, vedere Procedura: utilizzare il trasporto HTTP.

  • Per aggiungere il supporto dei dispositivi per i contratti System.ServiceModel, è possibile utilizzare lo strumento ServiceModel Utility (NetCFSvcUtil.exe) di .NET Compact Framework per generare un proxy client WCF. Lo strumento implementa il supporto per molti parametri di contratto in .NET Compact Framework. NetCFSvcUtil.exe è incluso in Power Toys per .NET Compact Framework. Per ulteriori informazioni, vedere Power Toys for .NET Compact Framework (informazioni in lingua inglese).

  • Se non si utilizza NetCFSvcUtil, è possibile utilizzare lo strumento WCF ServiceModel Desktop Utility (SvcUtil.exe) ed eseguire la post-elaborazione del codice generato. In questo scenario è necessario rimuovere gli attributi System.ServiceModel non supportati dal codice generato. Per ulteriori informazioni su tali modifiche e un esempio, vedere Procedura: utilizzare il trasporto HTTP.

La versione completa di .NET Framework supporta inoltre un sottoinsieme dei membri e dei tipi di messaggistica WCF.

Nella sezione successiva vengono descritte le differenze specifiche delle funzionalità di sicurezza WCF.

Sicurezza

La messaggistica WCF in .NET Compact Framework supporta la sicurezza dei messaggi SOAP, che corrisponde a un sottoinsieme delle funzionalità WS-Security e si basa sui certificati X.509. WS-Security è un livello dell'applicazione che è possibile inserire all'inizio di qualsiasi trasporto supportato. Gli elementi di associazione della sicurezza supportati nella messaggistica WCF sono SecurityBindingElement e AsymmetricSecurityBindingElement. Per implementare le funzionalità di sicurezza, passare i certificati X.509 in un oggetto ClientCredentials come parametro del costruttore del proxy client WCF.

In .NET Compact Framework, la sicurezza a livello di trasporto è supportata anche per WCF, compreso il supporto per HttpsTransportBindingElement e BasicHttpSecurity.

L'implementazione della sicurezza WCF in .NET Compact Framework presenta le seguenti differenze rispetto all'implementazione nei computer desktop:

  • È supportato soltanto un sottoinsieme di WS-Security versione 1.0.

  • Per la classe SecurityAlgorithmSuite è supportata soltanto la proprietà Basic256Rsa15 a causa di vincoli del sistema operativo.

  • Non è consentita la crittografia dell'intestazione dei messaggi.

  • L'oggetto BasicHttpSecurityMode non è supportato.

Nota:

Nei periodi in cui è in vigore l'ora legare prolungata, se è attiva la convalida del timestamp predefinita di cinque minuti, i messaggi in uscita che utilizzano la sicurezza dei messaggi avranno esito negativo a causa di un errore di convalida del timestamp. I periodi in cui l'ora legale è stata prolungata vanno dalla seconda domenica di marzo alla prima domenica di aprile e dall'ultima domenica di ottobre alla prima domenica di novembre. Per risolvere questo problema, installare l'aggiornamento relativo all'ora legale (DST) 2007. Tale indicazione non riguarda i dispositivi sui quali è in esecuzione Windows Mobile 5.0 build 15096.3.0 e versioni successive o Windows Mobile 6.0 e versioni successive.

Distribuzione

Le DLL di messaggistica WCF vengono recapitate nei file CAB di .NET Compact Framework. Gli assembly gestiti vengono installati nella Global Assembly Cache.

Tra le DLL di messaggistica WCF per dispositivi mobili sono inclusi gli elementi seguenti:

  • System.ServiceModel.dll

  • System.Runtime.Serialization.dll

La distribuzione include anche la distribuzione del trasporto posta WCF per Exchange Server. Per ulteriori informazioni sulla distribuzione in dispositivi e computer desktop, vedere Trasporto posta WCF per Exchange Server.

Registrazione

WCF per .NET Framework desktop supporta tre tipi di registrazione: la registrazione dell'analisi, la registrazione dei messaggi e la registrazione degli eventi. WCF per .NET Compact Framework supporta unicamente la registrazione dell'analisi per tenere traccia delle eccezioni del codice. Non è prevista alcuna registrazione di messaggi di avviso o di errore. Per configurare la registrazione viene utilizzata una chiave del Registro di sistema.

Per consentire la registrazione di informazioni WCF, attivare innanzitutto la registrazione per .NET Compact Framework. Per ulteriori informazioni su come attivare la registrazione e il log di analisi WCF, vedere Procedura: creare file di log.

Vedere anche

Concetti

Informazioni sui file di log

Altre risorse

Sviluppo di Windows Communication Foundation (WCF) e .NET Compact Framework