Creare web service con ASP non è facilissimo, se paragonato a quello che bisogna fare per raggiungere lo stesso scopo con ASP.NET.
Non è raro invece che si debba accedere ad alcuni dati presenti su un sito su cui il supporto ASP.NET non sia presente.
In casi come questo è possibile emulare un web service utilizzando la particolarità dell'oggetto recordset di ADO di poter esportare i dati in formati XML attraverso il metodo Save.
Ecco il file ASP:
<!--METADATA Type="typelib" uuid="{00000205-0000-0010-8000-00AA006D2EA4}"--><% ' content type response.ContentType = "text/xml" ' connessione strConn = "Provider = SQLOLEDB.1; Data Source = localhost; User ID = sa; Password =" set conn = Server.CreateObject("ADODB.Connection") conn.Open strconn set rs = Server.CreateOBject("ADODB.Recordset") rs.Open "SELECT TOP 10 * FROM faq", conn, 1, 3 rs.Save Response, adPersistXML ' libero risorse rs.Close Set rs = Nothing conn.Close set conn = Nothing %> Supponendo di aver chiamato questo script ASP provider.asp, ci basterà utilizzare uno script come il seguente per recuperare i dati e visualizzarli in un datagrid: Ed ecco lo script ASP.NET: [code lang="aspx"]<%@ Import Namespace="System.Data"%> <SCRIPT language="VB" runat="server"> Sub Page_Load(sender As Object, E As EventArgs) Dim strURL as String = "http://localhost/provider.asp" ' inserisco il file XML nel dataset Dim ds As New DataSet ds.ReadXml(strURL) ' quale "tabella" prendere? queryres.DataSource = new DataView(ds.Tables(1)) ' effetto il databinding sul datagrid queryres.DataBind() End Sub </script> <ASP:DataGrid id="queryres" runat="server" BackColor="white" Headerstyle-BackColor="lightsteelblue" Headerstyle-Font-Style="bold" />
Ovviamente questo workaround va benissimo per "web service" testuali, che espongano solo contenuti, mentre diventa più macchinoso da implementare nel caso in cui il web service debba avere una propria logica interna.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migrare un progetto ASP.NET Core da .NET 6 a .NET 7
Gestire dati sensibili nella configurazione in ASP.NET Core
Cache policy su route groups di Minimal API in ASP.NET Core 7
Sfruttare la local cache del browser tramite gli ETag in ASP.NET Core
Migliorare la scalabilità di ASP.NET Core 7 grazie all'output cache
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Utilizzare parametri a livello di controller nel routing di ASP.NET Core
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
Impostare il forward degli header in un sito ASP.NET Core dietro a un reverse proxy
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Sfruttare i tag nell'output cache di ASP.NET Core 7
I più letti di oggi
- Utilizzare gli asynchronous stream in Entity Framework Core 3
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Componente per crittografia Cast128 e Base64
- Creare un array al volo
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!