2011-02-03 13 views
10
  1. Ho aperto il mio servizio web ASMX 2.0 net in VS2010 e migrato a .net4.0. Se eseguo semplicemente il mio ASMX senza cambiare il codice in formato WCF posso ancora eseguire il vecchio servizio asmx sotto .net 4.0 ?? funzionerà così com'è?
  2. Il file web.config ha anche impostazioni WSE cosa succede?
  3. WCF/net4.0 non supporta gli allegati, ho bisogno di cambiare il mio asmx webmethod per tornare come set di dati nel corpo e funzionerà?
  4. Ho provato a eseguire il mio servizio asmx esistente utilizzando il set di dati come allegati in .net 4.0 e ha funzionato?
  5. Posso vedere il file asmx può essere aggiunto nel .net 2010? sono ancora supportati?
+0

Perché il n. 4 è una domanda?"Ho provato qualcosa e ha funzionato" è una dichiarazione. Perché il n. 5 è una domanda? Se è possibile aggiungerli in .Net 2010, sì, sono supportati. – Amy

+1

# 1: ci hai provato? – Amy

+0

@ Yodaj007, .net 4.0 ha sostituito WS/WSE in WCF, questo significa per me no asmx e nessun allegato (potrei sbagliarmi). Ma il progetto .net2.0 VS2005 una volta migrato a VS2010 .net4.0 funziona così com'è (che usa WSE e allegati) questo è ciò che confonde gli – Gauls

risposta

12

Sì, è possibile utilizzare ASMX anche in .NET 4.0.


Citando Dave Ward dalla sua risposta a un commento sul suo posto a Encosia chiamato ASMX and JSON – Common mistakes and misconceptions

penso WCF è grande nelle situazioni dove si può approfittare dei suoi punti di forza, come quando è possibile utilizzare il tcpBinding modalità. Tuttavia, la complessità di di WCF rende difficile prendere seriamente in considerazione la funzionalità di callback AJAX in cui esiste già una soluzione più precisa, la più matura, più matura.

ASMX è affatto obsoleti o obsoleti, anche in .NET 4. Questo è in realtà uno delle idee sbagliate Sono andando a coprire in questa serie.

+0

significa che posso continuare a utilizzare i miei file ASMX esistenti poiché passa set di dati come allegati, finora non riesco a ottenere alcun errore sulla mia casella di sviluppo. mi sto perdendo qualcosa?? – Gauls

+0

Mr. Ward non deve aver provato a creare un servizio WCF con .NET 4.0 se lo chiama complesso. Piuttosto, la flessibilità è nascosta finché non è necessario utilizzarla. –

+0

@JohnSaunders: :) devono concordare che WCF è piuttosto complicato rispetto a ASMX. ma immensamente potente " – naveen

3

Per citare Microsoft:

Questo argomento è specifico di una tecnologia legacy. I servizi Web XML e i client del servizio Web XML devono ora essere creati utilizzando Windows Communication Foundation.

Decidete da soli cosa significa per voi.

WCF sostituisce completamente i servizi Web ASMX. Le persone che si lamentano della complessità della WCF non prestano attenzione. Vai a creare un nuovo servizio WCF e guarda il codice nel servizio "ciao mondo" creato dal modello. Questo è solo più complicato di quello creato dal modello ASMX perché include due operazioni non solo una.

Non commettere errori su WSE, tuttavia. È semplicemente obsoleto. Smetti di usarlo il prima possibile e non sviluppare alcun nuovo codice usando WSE.

Non permettere a nessuno di convincerti che nulla è cambiato. Esso ha. ASMX è stato sostituito da qualcosa di molto migliore, molto più potente e molto più flessibile.

+0

Grazie per aver risposto, finora ho concluso. NET 4.0 ha introdotto tutto in un framework WCF in sostituzione di messaggistica, remoting, asmx WS, WSE) ma per compatibilità con le versioni precedenti supporta ancora ASMX WS/WSE (basato sui miei test fino ad ora). Perfavore, correggimi se sbaglio. Questo è molto importante in quanto il mio progetto esistente (.net 2.0) è migrato a .net4.0 e funziona come w/impostazioni extra in confor supportruntime. un nuovo sviluppo userà sicuramente WCF, ma per ora sarò felice se il mio codice esistente funzioni in .net 2.0 (dll e WS) in esecuzione. NET 4.0 CLR (che non è riuscito finora) o .net 4.0 – Gauls

2

I servizi Web ASMX rientrano nel ciclo di vita di .NET framework. .NET framework 4.0 e 4.5 supportano i servizi Web ASMX. Microsoft consiglia di non creare nuovi codici utilizzando ASMX come indicato nelle risposte precedenti.