Quali tipi di non possono essere utilizzati per WCF?
-
22-09-2019 - |
Domanda
So che per un dato di fatto che Type
non può essere utilizzato quando si passa a un servizio WCF. Qualcuno ha un elenco completo?
Soluzione
Non sono sicuro che chiunque disturbato la compilazione di un elenco, e non sono sicuro che ci viene fatto uso nella compilazione di uno. Invece, ci sono i requisiti che un tipo deve soddisfare per poter essere utilizzati nell'ambito di contratti WCF. Soprattutto, deve essere serializzabile.
Credo che sia responsabilità del programmatore per verificare che i tipi utilizzati nei contratti sono tutti serializzabile, e per assicurarsi che tutti i tipi personalizzati sono serializzazione e deserializzazione correttamente.
Altri suggerimenti
Tutto ciò che si desidera utilizzare in un servizio WCF deve essere serializzabile prima, e in secondo luogo, ha bisogno di essere in grado di essere espressi utilizzando lo schema XML. Inoltre, WCF è interoprable per natura, quindi tutto ciò che è troppo specifico per .NET (come eccezioni, il Type
.NET e così via) deve essere evitato.
Tutto ciò non serializzabile è fuori da ottenere andare, e tutto ciò che non può essere espresso in schema XML non può essere utilizzato. Questo include le interfacce - è possibile utilizzare solo classi concrete -. Ed Esclusioni di anche i tipi generici, in quanto schema XML non sa come gestire i tipi generici
Sei abbastanza bene finché si tiene fede ai tipi base (int, stringa, datetime ecc) e tutto ciò che è direttamente composti da questi tipi.
Tutto quello che non segnata Serializable
, per cominciare.