Advertisement
  1. Web Design
  2. ASP.NET

Come costruire un Feed RSS con ASP.NET

Scroll to top
Read Time: 13 min

() translation by (you can also view the original English article)

Nel corso di questo tutorial, esamineremo come creare un Feed RSS con il framework ASP.NET. Avendo un feed RSS per il tuo sito è diventata una necessità negli ultimi anni. Con i siti di notizie o Blog viene aggiornati di frequente e con la grande quantità di notizie e Blog siti web là fuori, RSS ha permesso ai lettori di tenere il passo con nuovi contenuti senza essere costretti a far loro visita. Una volta che hai completato questo tutorial, saprete come creare un feed RSS con ASP.NET e come eseguire il rendering di documenti XML sul Web ASP.NET pagine.


Passo 0: RSS 2.0 Introduzione

RSS è un formato di diffusione di contenuti web. E ' l'acronimo di "Really Simple Syndication" ed è scritto in XML. Tutti i file RSS devono essere conforme alla specifica XML 1.0, come pubblicato dal World Wide Web Consortium (W3C). Con RSS, è possibile distribuire contenuti web sono aggiornati da un sito web a migliaia di altri in tutto il mondo. Per semplificare il termine, RSS permette la navigazione veloce per notizie e aggiornamenti.

Le regole di sintassi di RSS 2.0 sono abbastanza semplice, ma rigoroso. Ecco un semplice documento RSS:

1
<?xml version="1.0" encoding="utf-8" ?>
2
<rss version="2.0">
3
  <channel>
4
    <title>Your Website Name</title>
5
    <link>http://www.yourdomain.com</link>
6
    <description>Free RSS Tutorial</description>
7
    <item>
8
      <title>First Article</title>
9
      <link>http://www.yourdomain.com/article.aspx?ID=1</link>
10
      <description>The description of the first article.</description>
11
    </item>
12
    <item>
13
      <title>Second Article</title>
14
      <link>http://www.yourdomain.com/article.aspx?ID=2</link>
15
      <description>The description of the second article.</description>
16
    </item>
17
  </channel>
18
</rss>

La prima riga del documento - la dichiarazione di XML - definisce la versione XML e la codifica dei caratteri utilizzati nel documento. In questo caso, il documento è conforme alla 1.0 specifica di XML e utilizza il set di caratteri utf-8. La riga successiva è la dichiarazione di RSS, che identifica che questo è, infatti, un documento RSS (più specificamente, RSS versione 2.0).

La riga successiva contiene l'elemento <channel>. Questo elemento viene utilizzato per descrivere il feed RSS. La <channel> elemento ha tre elementi figlio obbligatori:

  • <title> - Definisce il titolo del canale (es. nome del tuo sito Web)
  • <link> - Definisce il collegamento ipertestuale per il canale (ad es. http://www.yourdomain.com)
  • <description> - Descrive il canale (per esempio RSS Tutorial gratuito)

Ogni elemento <channel> può avere uno o più elementi <item>. Ogni <item> elemento definisce un articolo o una "storia" all'interno del feed RSS.

La <item> elemento richiede tre elementi figlio:

  • <title> - Definisce il titolo dell'elemento (ad es. primo articolo)
  • <link> - Definisce il collegamento ipertestuale alla voce (ad es. http://www.yourdomain.com/article.aspx?ID=1)
  • <description> - Descrive l'elemento (ad esempio la descrizione del primo articolo)

Quando viene visualizzato in Firefox, il documento di RSS qui sopra dovrebbe essere simile a:

RSS document

Passaggio 1: Guida introduttiva

Per seguire questo tutorial, Immaginate di lavorare come sviluppatore web e stanno costruendo un sito di news tutte le storie di notizie vengono archiviate nel database di Microsoft SQL Server. In particolare, gli articoli vengono memorizzati in una tabella denominata News, che contiene i seguenti campi:

  • ArticleID - un campo di chiave primaria intero incremento automatico identifica in modo univoco ogni articolo
  • Titolo - un nvarchar(256), specificando il titolo dell'articolo
  • Autore - un nvarchar(50), specificando l'autore dell'articolo
  • Descrizione - un tipo(500), fornendo una descrizione più approfondita dell'articolo
  • DatePublished - datetime, indicando la data che dell'articolo è stato pubblicato

Nota che ci potrebbero essere altri campi nella tabella di notizie, ma quelli sopra elencati sono gli unici che siamo interessati a usando-- almeno ai fini di un feed RSS.

Useremo il Visual Studio per finire l'esempio. Se non hai la versione completa di VS, si può afferrare l'edizione Express gratuita.


Passaggio 2: Creazione di un RSS. aspx Page

Il nostro prossimo passo è quello di creare una pagina Web ASP.NET (RSS.aspx) che visualizzerà un elenco delle notizie più recenti come un documento RSS 2.0 correttamente formattato. In Esplora soluzioni, fare clic destro il nome del progetto e quindi fare clic su Aggiungi nuovo elemento. Nella finestra di dialogo, in modelli Visual Studio installati fare clic su Web Form.

Add New Page

Nella casella nome, digitare un nome per la nuova pagina Web (RSS.aspx) e quindi fare clic su Aggiungi. La nuova pagina web ASP.NET (RSS.aspx) viene creato e visualizzato, conseguenza.

Perché vogliamo che la pagina RSS.aspx per generare un output XML, la prima cosa che dobbiamo fare è rimuovere tutti i controlli di markup o web HTML dalla pagina e quindi impostare la proprietà ContentType della @page direttiva su "text/xml".

Dopo aver eliminato tutti i markup HTML dalla pagina RSS.aspx, aggiungere un controllo Repeater nella pagina. Useremo il controllo Repeater per eseguire il rendering documento RSS RSS. aspx pagina.

Qui è la vista di origine della pagina RSS.aspx, dopo abbiamo apportato alcune modifiche:

1
<%@ Page Language="C#" ContentType="text/xml" AutoEventWireup="true" CodeBehind="rss.aspx.cs" Inherits="NettutsTutorial2.rss" %>
2
3
<asp:Repeater ID="RepeaterRSS" runat="server">
4
</asp:Repeater>

Passaggio 3: Configurare la stringa di connessione

Prossimo, vogliamo impostare la stringa di connessione dell'origine dati, all'interno del file Web.config. Salvando le informazioni sulla stringa di connessione, ti evitiamo avendo a livello di codice nel file code-behind. Questo semplifica le cose, se le informazioni sulla stringa di connessione viene modificato in futuro. Posizionarlo nella <connectionStrings> sezione nell'elemento di configurazione, in questo modo:

1
<connectionStrings>
2
  <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Nettuts.mdf;Integrated Security=True;User Instance=True"
3
   providerName="System.Data.SqlClient" />
4
 </connectionStrings>

Ci sarà accedere a queste informazioni dal file code-behind più tardi quando si desidera recuperare dati dal database.


Passaggio 4: Rimuovere caratteri non validi dal documento XML

Alcuni caratteri hanno un significato speciale in XML. Se si inserisce un carattere, ad esempio "<", all'interno di un elemento XML, verrà generato un errore, perché il parser interpreta come l'inizio di un nuovo elemento. Per evitare questo errore, sostituire il "<" personaggio con relativa entità di riferimento (

Ci sono cinque i riferimenti a entità predefinite in XML:

&lt; < meno di
&gt; > maggiore di
&amp; & e commerciale
&apos; ' apostrofo
&quot; " segno di virgolette

Per evitare il nostro RSS feed produce un errore, dobbiamo cambiare tutti i caratteri non validi in un documento RSS con loro i riferimenti a entità. Aggiungere il codice riportato di seguito nel file code-behind della pagina RSS.aspx (rss.aspx.cs):

1
protected string RemoveIllegalCharacters(object input)
2
{
3
    // cast the input to a string
4
    string data = input.ToString();      
5
6
    // replace illegal characters in XML documents with their entity references
7
    data = data.Replace("&", "&amp;");
8
    data = data.Replace("\"", "&quot;");
9
    data = data.Replace("'", "&apos;");
10
    data = data.Replace("<", "&lt;");
11
    data = data.Replace(">", "&gt;");
12
13
    return data;
14
}

La funzione di RemoveIllegalCharacters() esegue alcune sostituzioni di stringa semplice, se necessario. Chiameremo questa funzione dalla pagina RSS.aspx poco.


Passaggio 5: Recupero dei dati dal Database

Aggiungere il seguente codice nel gestore eventi Page_Load:

1
protected void Page_Load(object sender, EventArgs e)
2
{
3
    // Get connection string from the web.config file
4
    string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
5
6
    // Create SqlConnection object
7
    SqlConnection sqlConn = new SqlConnection();
8
    sqlConn.ConnectionString = connString;
9
10
    // SQL query to retrieve data from database
11
    string sqlQuery = "SELECT TOP 10 ArticleID, Title, Author, Description, DatePublished FROM News ORDER BY DatePublished DESC";
12
13
    // Create SqlCommand object
14
    SqlCommand cmd = new SqlCommand();
15
    cmd.Connection = sqlConn;
16
    cmd.CommandType = CommandType.Text;
17
    cmd.CommandText = sqlQuery;
18
19
    // open connection and then binding data into RepeaterRSS control
20
    sqlConn.Open();
21
    RepeaterRSS.DataSource = cmd.ExecuteReader();
22
    RepeaterRSS.DataBind();
23
    sqlConn.Close();
24
}

Il codice sopra riportato tenterà di recuperare le dieci notizie più recenti dal database. Esso sarà quindi associarli a un controllo Repeater (RepeaterRSS) quando la pagina viene caricata.


Passaggio 6: Rendering dei dati

Questo è il nostro ultimo passo. È il momento di eseguire il rendering di elementi dalla tabella News in un appropriato file di syndication RSS 2.0. Il modo più semplice e veloce per visualizzare i dati del database in formato XML consiste nell'utilizzare un controllo Repeater (RepeaterRSS). In particolare, il ripetitore visualizzerà il <rss>, <channel>, ed il sito Web relativo tag dell'elemento nei propri modelli HeaderTemplate e FooterTemplate e la <item> elementi nel modello ItemTemplate. Non dimenticare di chiamare l'helper RemoveIllegalCharacters() funzione per sostituire i caratteri indesiderati dall'output della stringa.

Di seguito è riportato la parte HTML della nostra pagina Web ASP.NET (RSS.aspx):

1
<%@ Page Language="C#" ContentType="text/xml" AutoEventWireup="true" CodeBehind="rss.aspx.cs" Inherits="NettutsTutorial2.rss" %>
2
3
<asp:Repeater ID="RepeaterRSS" runat="server">
4
        <HeaderTemplate>
5
           <rss version="2.0">
6
                <channel>
7
                    <title>Name of the Website</title>
8
                    <link>http://www.yourdomain.com</link>
9
                    <description>
10
                    Short description of the website.
11
                    </description>
12
        </HeaderTemplate>
13
        <ItemTemplate>
14
            <item>
15
                <title><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Title")) %></title>
16
                <link>http://www.yourdomain.com/news.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "ArticleID") %></link>
17
                <author><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Author"))%></author>
18
                <pubDate><%# String.Format("{0:R}", DataBinder.Eval(Container.DataItem, "DatePublished"))%></pubDate>
19
                <description><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Description"))%></description>
20
        </item>
21
        </ItemTemplate>
22
        <FooterTemplate>
23
                </channel>
24
            </rss>  
25
        </FooterTemplate>
26
</asp:Repeater>

La prima cosa interessante notare qui è che il file RSS.aspx precedente contiene solo il controllo Repeater (RepeaterRSS) e nessun altro markup HTML o controlli Web. Questo è perché vogliamo che la pagina per emettere nulla ma di output XML. Abbiamo impostato il ContentType della direttiva @Page su "text/xml" per indicare che l'output della pagina RSS.aspx è un documento XML.

Nel modello HeaderTemplate del controllo Repeater, abbiamo posto il <rss> e <channel> elementi.

Successivamente, nel modello ItemTemplate, abbiamo posto gli elementi di <item>, che contengono il <title>, <link> , <author>, <pubDate>, e <description> elementi, come il luogo per campi di database. Chiamiamo la funzione di RemoveIllegalCharacters() quando si aggiungono i campi titolo, autore e descrizione di database per l'output XML. Ricordate, questa funzione semplicemente sostituisce i caratteri XML non validi con loro i riferimenti a entità.

Infine, il campo del database DatePublished, inserito nell'elemento <pubDate>, viene formattato utilizzando il metodo String.Format. L'identificatore di formato standard, R, formatta il valore di DatePublished in modo appropriato secondo la RFC 822, data e ora specifiche. Questo inizia con un'abbreviazione di giorno opzionale di tre lettere e la virgola, seguita da un giorno desiderato, il mese abbreviato di tre lettere e poi l'anno, seguito da un tempo con il nome di fuso orario, ad esempio Gio, 4 novembre 2010 20:50:26 GMT.


il risultato

E ci abbiamo! Con il minimo sforzo, abbiamo creato un feed personalizzato per un'applicazione ASP.NET.

The Resulting Feed

Il codice completo

Il File RSS.aspx

1
<%@ Page Language="C#" ContentType="text/xml" AutoEventWireup="true" CodeBehind="rss.aspx.cs" Inherits="NettutsTutorial2.rss" %>
2
3
<asp:Repeater ID="RepeaterRSS" runat="server">
4
        <HeaderTemplate>
5
           <rss version="2.0">
6
                <channel>
7
                    <title>Name of the Website</title>
8
                    <link>http://www.yourdomain.com</link>
9
                    <description>
10
                    Short description of the website.
11
                    </description>
12
        </HeaderTemplate>
13
        <ItemTemplate>
14
            <item>
15
                <title><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Title")) %></title>
16
                <link>http://www.yourdomain.com/news.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "ArticleID") %></link>
17
                <author><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Author"))%></author>
18
                <pubDate><%# String.Format("{0:R}", DataBinder.Eval(Container.DataItem, "DatePublished"))%></pubDate>
19
                <description><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Description"))%></description>
20
        </item>
21
        </ItemTemplate>
22
        <FooterTemplate>
23
                </channel>
24
            </rss>  
25
        </FooterTemplate>
26
</asp:Repeater>

Rss.aspx.cs File

1
using System;
2
using System.Collections;
3
using System.Configuration;
4
using System.Data;
5
using System.Linq;
6
using System.Web;
7
using System.Web.Security;
8
using System.Web.UI;
9
using System.Web.UI.HtmlControls;
10
using System.Web.UI.WebControls;
11
using System.Web.UI.WebControls.WebParts;
12
using System.Xml.Linq;
13
using System.Data.SqlClient;
14
15
namespace NettutsTutorial2
16
{
17
    public partial class rss : System.Web.UI.Page
18
    {
19
        protected void Page_Load(object sender, EventArgs e)
20
        {
21
            // Get connection string from web.config file
22
            string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
23
24
            // Create SqlConnection object
25
            SqlConnection sqlConn = new SqlConnection();
26
            sqlConn.ConnectionString = connString;
27
28
            // SQL query to retrieve data from database
29
            string sqlQuery = "SELECT TOP 10 ArticleID, Title, Author, Description, DatePublished FROM News ORDER BY DatePublished DESC";
30
31
            // Create SqlCommand object
32
            SqlCommand cmd = new SqlCommand();
33
            cmd.Connection = sqlConn;
34
            cmd.CommandType = CommandType.Text;
35
            cmd.CommandText = sqlQuery;
36
37
            // open connection and then binding data into RepeaterRSS control
38
            sqlConn.Open();
39
            RepeaterRSS.DataSource = cmd.ExecuteReader();
40
            RepeaterRSS.DataBind();
41
            sqlConn.Close();
42
        }
43
44
        protected string RemoveIllegalCharacters(object input)
45
        {
46
            // cast the input to a string
47
            string data = input.ToString();
48
49
            // replace illegal characters in XML documents with their entity references
50
            data = data.Replace("&", "&amp;");
51
            data = data.Replace("\"", "&quot;");
52
            data = data.Replace("'", "&apos;");
53
            data = data.Replace("<", "&lt;");
54
            data = data.Replace(">", "&gt;");
55
56
            return data;
57
        }
58
    }
59
}

Il File Web.config

1
<?xml version="1.0"?>
2
<configuration>
3
  <configSections>
4
		<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
5
			<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
6
				<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
7
				<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
8
					<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
9
					<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
10
					<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
11
					<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
12
				</sectionGroup>
13
			</sectionGroup>
14
		</sectionGroup>
15
	</configSections>
16
	<appSettings/>
17
	<connectionStrings>
18
		<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Nettuts.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient"/>
19
	</connectionStrings>
20
	<system.web>
21
		<!-- 

22
            Set compilation debug="true" to insert debugging 

23
            symbols into the compiled page. Because this 

24
            affects performance, set this value to true only 

25
            during development.

26
        -->
27
		<compilation debug="true">
28
			<assemblies>
29
				<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
30
				<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
31
				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
32
				<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
33
			</assemblies>
34
		</compilation>
35
		<!--

36
            The <authentication> section enables configuration 

37
            of the security authentication mode used by 

38
            ASP.NET to identify an incoming user. 

39
        -->
40
		<authentication mode="Windows"/>
41
		<!--

42
            The <customErrors> section enables configuration 

43
            of what to do if/when an unhandled error occurs 

44
            during the execution of a request. Specifically, 

45
            it enables developers to configure html error pages 

46
            to be displayed in place of a error stack trace.

47


48
        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

49
            <error statusCode="403" redirect="NoAccess.htm" />

50
            <error statusCode="404" redirect="FileNotFound.htm" />

51
        </customErrors>

52
        -->
53
		<pages>
54
			<controls>
55
				<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
56
				<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
57
			</controls>
58
		</pages>
59
		<httpHandlers>
60
			<remove verb="*" path="*.asmx"/>
61
			<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
62
			<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
63
			<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
64
		</httpHandlers>
65
		<httpModules>
66
			<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
67
		</httpModules>
68
	</system.web>
69
	<system.codedom>
70
		<compilers>
71
			<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
72
				<providerOption name="CompilerVersion" value="v3.5"/>
73
				<providerOption name="WarnAsError" value="false"/>
74
			</compiler>
75
		</compilers>
76
	</system.codedom>
77
	<!-- 

78
        The system.webServer section is required for running ASP.NET AJAX under Internet

79
        Information Services 7.0.  It is not necessary for previous version of IIS.

80
    -->
81
	<system.webServer>
82
		<validation validateIntegratedModeConfiguration="false"/>
83
		<modules>
84
			<remove name="ScriptModule"/>
85
			<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
86
		</modules>
87
		<handlers>
88
			<remove name="WebServiceHandlerFactory-Integrated"/>
89
			<remove name="ScriptHandlerFactory"/>
90
			<remove name="ScriptHandlerFactoryAppServices"/>
91
			<remove name="ScriptResource"/>
92
			<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
93
			<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
94
			<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
95
		</handlers>
96
	</system.webServer>
97
	<runtime>
98
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
99
			<dependentAssembly>
100
				<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
101
				<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
102
			</dependentAssembly>
103
			<dependentAssembly>
104
				<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
105
				<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
106
			</dependentAssembly>
107
		</assemblyBinding>
108
	</runtime>
109
</configuration>

Conclusione

Creazione di un RSS feed con ASP.NET è abbastanza semplice, non è vero? Dobbiamo solo capire la specifica RSS 2.0. Oltre a ciò, utilizzando il controllo Repeater .NET, possiamo rendere gli elementi da un database nel documento RSS. Sistemi di gestione più contenuti avrà questa funzionalità per impostazione predefinita. Tuttavia, se sei uno sviluppatore e stanno costruendo un sito Web ASP.NET da zero, ora avete le competenze per costruire il tuo feed personalizzato.

Buon coding!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Web Design tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.