2009-05-20 12 views
0

Was wäre ein guter Weg, um einen dynamischen RSS-Feed zu erstellen? Momentan habe ich eine Funktion programmiert, die in der Lage ist, eine statische Datei zu erstellen, aber ich bin nur neugierig, was die beste Methode wäre, dies zu bestimmten Zeiten/Tagen auszuführen? Zum Beispiel erstelle ich einen RSS-Feed, der alle Elemente auflistet, die heute auftreten, und ich möchte, dass es um 12:01 Uhr auffüllt. Ich habe auch einen anderen RSS-Feed, den ich schrieb, der den nächsten Punkt auflistet, um zu vorkommen.Dynamischer RSS-Feed in C#

Nur zur Klarstellung, ich habe bereits die Funktion erstellt, um die Feeds tatsächlich zu erstellen, ich bin nur auf der Suche nach einer guten Möglichkeit, diesen Prozess auf einer regelmäßigen, bestimmbaren Basis zu planen.

Ich programmiere in C# auf .NET 3.5 Framework in VS 2008

@John - ich bin mit WebForms, und ich habe nicht wirklich einen guten Grund für die nicht nur es so schreiben, ich habe gerade die statischen Feeds erstellt, weil ich genau wusste, wie es funktioniert.

+1

Warum planen Sie Elemente, anstatt den Feed zu verwenden, zeigen Sie nur das letzte X zum Zeitpunkt des Abrufens des Feeds an? Auch ASP.NET MVC oder Webforms? –

Antwort

0

Wie wäre es mit scheduled tasks dafür?

+0

Das sieht gut aus, aber wird es auf meinem Webserver funktionieren? Es scheint, dass es für lokale/Netzwerkmaschinenjobs ist. Ich habe auch darüber nachgedacht, nur wenn die Seiten geladen werden, einen Webdienstaufruf zu erstellen, aber es gibt so viele Orte, die diese Feeds verwandt werden, dass es Zugriffsverletzungsausnahmen von mehreren Versuchen erstellen kann, auf eine Datei zuzugreifen, die bereits geändert wird. – Daryl

+0

Geben Sie dann keinen direkten Zugriff auf die Datei, sondern über ein Aspx, das die zwischengespeicherte Datei zurückgibt, die während der Erstellung durch einen Semaphor geschützt ist. – jmservera

0

Wenn Sie Zugriff auf den Windows-Scheduler haben, dann erstellen Sie ein Skript dafür. Wenn nicht, würde ich es erstellen, wenn auf die Seite zum ersten Mal nach 12:01 zugegriffen wird und dann eine Caching-Technik für nachfolgende Aufrufe verwenden.

0

Sie können dies mit einem viel einfacheren Weg erreichen.

Implementieren Sie einfach einen Dateicache in Ihrem Handler. Legen Sie den Dateinamen als Erstellungsdatum des XML fest und ignorieren Sie die Datei nach der gewünschten Zeit. Die erste Anfrage an rss nach der Ungültigmachung erhält die Daten von Ihrer Datenbank.