Creazione feed

lunedì 15 dicembre 2008 - 09.39

perla0279 Profilo | Senior Member

aiuto...... non ne vengo più fuuori

Ho risolto i problemi almeno adesso riesco ad aprire il debug ....

il cosice è questo :
codice:

<%@ Page Language="vb" EnableViewState ="false" AutoEventWireup="false" CodeBehind="rss.aspx.vb" Inherits="Artistic.it.rss" %>
<%@ OutputCache Duration = "300" VaryByParam = "none"%>

codice:

Public Partial Class rss
Inherits Page

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

Response.Clear()
Response.ContentType = "text/xml"
Dim objX As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
objX.WriteStartDocument()
objX.WriteStartElement("rss")
objX.WriteAttributeString("version", "2.0")
objX.WriteStartElement("channel")
objX.WriteElementString("title", "uberASP.Net NewsWire")
objX.WriteElementString("link", "http://www.artistic.it/rss.aspx")
objX.WriteElementString("description", "Mobili antichi")
objX.WriteElementString("copyright", "(c) 2008, Art.")
objX.WriteElementString("ttl", "5")


'Dim objConnection As New SqlConnection(ConfigurationSettings.AppSettings("MyConnectionString"))
'objConnection.Open()



Dim CodPag As String
CodPag = "001"
Dim sql As String = "titolo, description , link, datainserimento from tbfeed where codicelingua='" + CodPag + "' order by datainserimento desc"""
Dim objCommand As New SqlCommand(sql, objdb)
Dim objReader As SqlDataReader = objCommand.ExecuteReader()


While objReader.Read()
objX.WriteStartElement("item")
objX.WriteElementString("title", objReader.GetString(0))
objX.WriteElementString("description", objReader.GetString(1))
objX.WriteElementString("link", "http://www.artistic.it/GetArticle.aspx?id=" + objReader.GetInt32(2).ToString())
objX.WriteElementString("pubDate", objReader.GetDateTime(3).ToString("R"))
objX.WriteEndElement()
End While



objX.WriteEndElement()
objX.WriteEndElement()
objX.WriteEndDocument()
objX.Flush()
objX.Close()
Response.End()
End Sub
End Class

quando lancio il debug mi dà questo mesaggio di errore:
codice:

Errore interpretazione XML: nessun elemento trovato
Indirizzo: http://localhost:3593/rss.aspx
Linea numero 1, colonna 1:

Ma non riesco a capire, non mi apre neanche il load della pagina ma va in errorre ancora prima....
e sinceramente non capisco il motivo....

alx_81 Profilo | Guru

>aiuto...... non ne vengo più fuuori
>Errore interpretazione XML: nessun elemento trovato
>Indirizzo: http://localhost:3593/rss.aspx
>Linea numero 1, colonna 1:
Dove viene catturato di preciso l'errore?

>Ma non riesco a capire, non mi apre neanche il load della pagina
>ma va in errorre ancora prima....
>e sinceramente non capisco il motivo....
Sai che i link che vai a cercare (quelli degli rss) sono irraggiungibili? Non mi rispondono proprio, non esiste la pagina..

Ed infine, fai attenzione a comporre l'sql in quel modo, incappi nel rischio di attacchi SQL Injection.
Cerca di usare le query parametriche e dai una letta a questo articolo:

http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

il problema principale è che non mi entra in debug.....
cioè ho messo un marcatore sul load nella parte vb, ma non riesco a prenderlo quindi presumo che l'errore sia ancora prima cioè nel codice della pagina aspx...


Per quanto riguarda la pagina non esiste ancora stò compilando il progetto in locale nel mio computer, fino a quando non funziona non la pubblico online

perla0279 Profilo | Senior Member

Sai che i link che vai a cercare (quelli degli rss) sono irraggiungibili? Non mi rispondono proprio, non esiste la pagina..

Cioè.... ????

alx_81 Profilo | Guru

>Sai che i link che vai a cercare (quelli degli rss) sono irraggiungibili?
>Non mi rispondono proprio, non esiste la pagina..
>
>Cioè.... ????
se provi a navigare su http://www.artistic.it/rss.aspx, non esiste..
Comunque sembra proprio che la tua pagina rss.aspx (quella di localhost) non abbia un response come te lo aspetti..
E quindi ottieni errore XML.. ma così su due piedi sinceramente non saprei dirti perchè non ti va nella load.. Prova ad abilitare a livello di pagina il trace:

How To Enable ASP.Net Page Trace
http://msdn.microsoft.com/en-us/library/94c55d08.aspx
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

l'ho attivato............. ma cosa devo guardare di tutte le informazioni che mi vengono fuori....

(non conoscevo neanche l'esistenza di questa pagina non si finisce mai di imparare)

alx_81 Profilo | Guru

>l'ho attivato............. ma cosa devo guardare di tutte le
>informazioni che mi vengono fuori....
Quello è quello che succede mentre ti si carica la pagina.. non noti nulla di strano? Prova a postare il risultato..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra



spero si capisca .............

alx_81 Profilo | Guru

Non dice nulla..
mettendo un break point sul Page_Load non riesci a catturarlo vero? Si ferma prima dicevi.
Purtroppo non so darti degli aiuti senza avere sottomano il progetto. Se riesci a passarmi qualcosa da provare posso vedere, altrimenti mi verrebbe da dirti di provare passo passo a rifare la pagina per capire dove ti si interrompe..


--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

la pagina ha solo questo codice....
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

il resto è bianco.....
in teoria dovrebbe essere la parte vb ha farmatarla in modo coretto....
ma se non esegue il load vuol dire che non arriva neanche ad eseguire il codice..... solo che veramente non riesco a capire il meccanismo della pagina...

Provo a crearti un progetto con solo la pagina che mi serve e poi te la passo... vediamo se tu ci capisci qualcosa perchè io ormai sono 5 gg che ci provo ma non ci arrivo proprio.....

alx_81 Profilo | Guru

>Provo a crearti un progetto con solo la pagina che mi serve e
>poi te la passo... vediamo se tu ci capisci qualcosa perchè io
>ormai sono 5 gg che ci provo ma non ci arrivo proprio.....
Forse il problema è nell'inherits.. Stai ereditando da Artistics.it.rss.. mettili lì i breakpoint e vedrai che il debug parte
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

ho trovato...................
provando a fare la pagina prova per inviare ho trovato il problema....
5 gg persi dietro a questo progetto per niente.... era una stupidagine ed io che cercavo problemi al codice gravi ..........

questo è quello che avevo scritto nel load della pagina
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

ma dalla fretta non mi ero accorta che mancava un pezzo fondamentale
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
cioè mancava Handles Me.Load..............

adesso funziona .......... o quasi ho solo qualche problema con la formatazione....

grazie comunque per i consigli e l'intaressamento, ho letto l'erticolo e ora provero ad ascoltare i consigli ed ad applicare le regole

alx_81 Profilo | Guru

>grazie comunque per i consigli e l'intaressamento, ho letto l'erticolo
>e ora provero ad ascoltare i consigli ed ad applicare le regole
>
Di nulla! segui quesi consigli.. sono MOLTO importanti. Credimi..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

adesso ho un problemino con la formatazione della pagina......

visto che siete molto più bravi di me volevo chiedervi se sapere come fare
Per ogni post dei feed vorrei inserire delle immagini e poi sotto dei testi, con i titoli in grassetto.

Del tipo di questa:
http://www.artistic.it/feed.xml
(una prova che avevo fatto)

Sul codice della nuova pagina mi torna questo
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

la sintassi mi sembra coretta solo che a video non mi appaiono lo immagini e neanche i testi in grasseto ma solo puro testo, come se non riconoscesse i tag html......
Come posso formatare la pagina in modo che riconosca il tag html corettamente e mi inserisca i testi in grasseto e le immagini??

alx_81 Profilo | Guru

>la sintassi mi sembra coretta solo che a video non mi appaiono
>lo immagini e neanche i testi in grasseto ma solo puro testo,
>come se non riconoscesse i tag html......
>Come posso formatare la pagina in modo che riconosca il tag html
>corettamente e mi inserisca i testi in grasseto e le immagini??
Ma quello è un xml, devi costruire un'applicazione che ti legga quello stream e butti fuori una risposta HTML..
Ma ci sono controlli già fatti..

Prova qui
http://www.codeproject.com/KB/ajax/AspNetAJAXRssReader.aspx

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

Ormai è quasi fatto

dovrei aggiungere dei riferimenti al namespace.....

questo è il mio codice:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

adesso ottengo questo risultato:
<rss version="2.0" >

dovrei praticamente ottenere questo risultato:
<rss version="2.0" xmlns:dc="http://xxxxx/" xmlns:sy="http://xxxxxx/syndication/">

ho provato in svariati modi ma non riesco ad ottenere il risultato che cerco.... un piccolo aiutino

alx_81 Profilo | Guru

>Ormai è quasi fatto
>dovrei aggiungere dei riferimenti al namespace.....
prova ripetendo il metodo WriteAttributeString:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Così dovrebbe funzionare..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5