Laden...

CSV/XML Datei automatisch erzeugen lassen

Erstellt von Maddinel vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.412 Views
Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren
CSV/XML Datei automatisch erzeugen lassen

Hallo,

wie kann ich auf meinem ASP.NET 3.5 Webspace automatisch in regelmäßigen Abständen eine Produktdatei im XML oder CSV-Format erzeugen lassen? Die Datei ist zum Abruf von diversen Preisvergleichsportalen gedacht. Ich möchte nicht ständig einen Button klicken müssen o.ä.. Mir ist bewusst, dass das keine ideale Vorgehensweise ist, aber brauche trotzdem eine Lösung. Wie könnte man das simpelsten umsetzen?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

J
537 Beiträge seit 2007
vor 14 Jahren

Hallo,

ich würde die Preisvergleichsportale nicht mit einem generierten XML füttern, sondern mit einem HtttpHandler, der das XML "on demand" generiert, wenn das Preisvergleichsportal darauf zugreift. Dann hast du das Problem mit der periodischen Generierung nicht, das im Web "out of the box" eh nicht geht. Nur mit einem Service der auf dem Server läuft.

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Dachte ich mir schon fast. Einen Service kann ich natürlich nicht ohne Weiteres laufen lassen. Das Generieren der Datei "on Demand" ist gar nicht so doof. Eigentlich sehr simpel und immer aktuell.

Jetzt aber noch mla doof nachgefragt: Wie genau setze ich dazu an?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

1.274 Beiträge seit 2005
vor 14 Jahren

nimm ne ashx Datei und schreib in das context.Response Objekt deine Daten zurück.

EDIT Buchstabenverdreher bei der Erweiterung

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Was ist denn eine asph-Datei? Sagt mir spontan leider nichts.
Ich benutze den Visual Web Developer 2008 Express, da hab ich eine solche Dateivorlabe auch nicht gefunden.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

J
537 Beiträge seit 2007
vor 14 Jahren

Jetzt aber noch mla doof nachgefragt: Wie genau setze ich dazu an? das stichwort HttpHandler hab ich oben schon genannt. schau auch mal hier: http://www.aspnetzone.de/search/SearchResults.aspx?q=httphandler&a=1 speziell die Beiträge von Peter dürften für dich interessant sein.

"asph" gibt es nicht. Wenn "aspx" gemeint war ist das eher nicht zu empfehlen. Steht ebenfalls in Peters Beiträgen (siehe Link)

1.274 Beiträge seit 2005
vor 14 Jahren

"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

@LastGentleman:
Das ist eigentlich genau das was ich suche, aber nach dieser Beschreibung bekomme ich das einfach nicht hin.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Ich glaube mit der Beschreibung von Peter komm ich besser zurecht.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Nach längerer Zeit mal wieder etwas zu diesem Thema:

Das Problem mit der dynamischen Erzeugung einer XML oder CSV-Artikeldatei beschäftigt mich leider immer noch. Mein Problem liegt darin, dass die Webseite auf einem Shared-Server liegt und ich daher nicht einfach mal Server neustarten oder Änderungen in den Einstellungen des Servers vornehmen kann. Ich habe auch schon probiert die Funktionalität ins Innere einer .aspx-Datei zu packen, was auch tatsächlich eine Datei im XML-Format ausgespuckt hatte, nur leider erkennen viele Systeme die Endung einer aspx-Datei nicht als CSV und ich kann es lassen bevor ich angefangen habe.

Ich möchte eine standardisierte SHOPINFO.XML erstellen zur Weitergabe an Preisvergleichsportale. Diese ShopInfo soll sich immer dann aktualisieren, wenn sie abgefragt wird. Wie mache ich das?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

H
81 Beiträge seit 2008
vor 14 Jahren

Also wenn ich das richtig verstehe soll eine Datei von anderen Seiten gelesen werden können die neu erstellt wird wenn sie angefragt wird.

Dazu würde ich einen HttpHandler (IHttpHandler) nehmen wie oben auch schon angesprochen. Dazu erstellst du dir also z.B. eine Download.ashx.

Für CSV- oder XML-Datei kannst du einen einfachen Parameter in der URL verwenden.
z.B. Download.ashx?type=xml oder Download.ashx?type=csv

Dann musst du nur noch in der Methode ProcessRequest die Datei neu generieren und danach die Datei dann in HttpContext.Response schreiben.

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Aber wo liegt der Unterschied dazu, wenn ich einfach in die Response einer stinknormalen aspx-Datei schreibe?

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

3.003 Beiträge seit 2006
vor 14 Jahren

Du sparst dir den Overhead, den der Lebenszyklus eines von Page abgeleiteten Objekts (.aspx) erzeugt, und setzt stattdessen dort an, wo es richtig ist: es soll ja schließlich keine Seite angezeigt werden, sondern ein http-Request auf bestimmte Art und Weise behandelt werden. Dafür sind httphandler da.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)