Moin!
Ich sitze seid ein paar Tagen vor einem Designtechnischen Problem.
Grund ist, daß mir zum einen mein Wissen im Weg steht, zum anderen mir Wissen/Erfahrung in Bezug auf ASP.Net fehlt.
Das Wissen was mir im Weg steht ist das Thema Traffic, Sourceoptimierungen und Speichermanagement. Da ich aus der Assembler/8Bit Zeit komme, habe ich hier eine Sichtweise drauf, welche vermutlich heute absolut unnötig ist.
Mir geht es bei meinem Designtechnischen Problem um die Seitenerstellung.
Das Backend ist bei mir vollständig in C# geschrieben und ich wollte die Frontendseiten mittels ASP.Net erstellen. Wenn ich aber jetzt sehe was ASP.Net für (in meinen Augen) einen Datenmüll an den Client schickt und wieviel Traffic damit verschwendet wird, dann dreht sich mir der Magen um.
Zwar kann man die Rendermethoden überschreiben bei den verwendeten Klassen, aber wenn ich dann die vorhandenen Möglichkeiten nicht nutze, wieso sollte ich dann ASP.Net einsetzen?
Wenn nicht ASP.Net, was aber dann? Alles selbst machen, oder auf den verschwendeten Traffic pfeifen?
Wie ihr seht stehe ich mir im Moment selbst im Wege und genau hier kommt ihr mit euren Erfahrungen ins Spiel.
Wie geht ihr mit solchen Design Entscheidungen um?
Wäre nett wenn ihr dazu mal was posten würdet. Auch Kritische Kommentare bitte.
Designtechnisches Problem mit ASP.Net kontra Traffic
gepostet vor 17 Jahre, 7 Monate von None
gepostet vor 17 Jahre, 7 Monate von Agmemon
Original von MrMarco
Das Wissen was mir im Weg steht ist das Thema Traffic, Sourceoptimierungen und Speichermanagement. Da ich aus der Assembler/8Bit Zeit komme, habe ich hier eine Sichtweise drauf, welche vermutlich heute absolut unnötig ist.
Ich finde Deine Sichtweise gar nicht so unnötig. Gut, die Zeiten, in denen man n Werte in einer Integervariable gespeichert hat, weil man nur ein paar KB zur Verfügung hatte, ist weitgehend vorbei (ausser man beschäftigt sich mit Microcontroller Programmierung).
Aber ein verantwortungsvoller Umgang mit Systemressourcen ist immer noch wichtig und ich bin kein Freund dieses Terrybyte, Gigahertz, Gigabit Wahns.
Da ich mich mit ASP.NET so gar nicht auskenne, kann ich Dir keinen konkreten Tip geben, wie Du damit umgehen sollst/kannst. Aber wenn Du einen Weg finden solltest, diesen ganzen Overhead zu verringern, solltest Du ihn gehen. Klar, es gibt Flatrates und schnelle Internetverbindungen, aber die Ressourcen zu schonen hat sowohl für Dich als Betreiber (Serverperformance) als auch für die Spieler (langsame Internetverbindungen) viele Vorteile.
gepostet vor 17 Jahre, 7 Monate von Bacardi Adi
ViewState ausschalten wo man es nicht benötigt. Das sollte am meisten Traffic sparen.
Achja ASP.Net Controlls nur verwenden wenn man auch deren Funktionen braucht sonst kann man auch normale HTML Controlls verwenden.
Achja ASP.Net Controlls nur verwenden wenn man auch deren Funktionen braucht sonst kann man auch normale HTML Controlls verwenden.
gepostet vor 17 Jahre, 6 Monate von Hagbard
www.asp.net/cssadapters/ um Controls zu rendern wie man will
gepostet vor 17 Jahre, 6 Monate von TheUndeadable
- ViewStates nur bei Objekten einschalten, bei denen du ViewStates benötigst.
- Atlas.Net einsetzen (AJAX für ASP.Net) um nur Änderungen zu übermitteln. Es ist wirklich simpelst einsetzbar.
- Auf ASP.Net Controls verzichten, wenn du sie nicht wirklich brauchst (insbesondere Link-Buttons statt echte Buttons, ich nutze sie allerdings besonders gerne). So lässt sich JS einsparen.
> Alles selbst machen, oder auf den verschwendeten Traffic pfeifen?
Schau dir mal den HttpListener an. Damit plugst du dich in den IIS (genauer gesagt in das HTTP-Modul des Windows-Kernels) und kannst eine eigene Behandlung starten. Unter dem Stichwort 'HttpListener' findest du viele, viele Beispiele.
Dieser läuft ebenfalls auf dem Port 80. Du reservierst dir praktisch ein 'Verzeichnis' oder einen 'Hostname' und der Kernel leitet die Aufrufe an deinen Listener statt zum IIS weiter [bzw es ist auch ohne IIS einsetzbar. Mit dem Apache funktioniert es leider nicht, da er einen echten Port öffnet und nicht diese Funktionalität nutzt.]
msdn2.microsoft.com/en-us/library/system.net.httplistener.aspx
- Atlas.Net einsetzen (AJAX für ASP.Net) um nur Änderungen zu übermitteln. Es ist wirklich simpelst einsetzbar.
- Auf ASP.Net Controls verzichten, wenn du sie nicht wirklich brauchst (insbesondere Link-Buttons statt echte Buttons, ich nutze sie allerdings besonders gerne). So lässt sich JS einsparen.
> Alles selbst machen, oder auf den verschwendeten Traffic pfeifen?
Schau dir mal den HttpListener an. Damit plugst du dich in den IIS (genauer gesagt in das HTTP-Modul des Windows-Kernels) und kannst eine eigene Behandlung starten. Unter dem Stichwort 'HttpListener' findest du viele, viele Beispiele.
Dieser läuft ebenfalls auf dem Port 80. Du reservierst dir praktisch ein 'Verzeichnis' oder einen 'Hostname' und der Kernel leitet die Aufrufe an deinen Listener statt zum IIS weiter [bzw es ist auch ohne IIS einsetzbar. Mit dem Apache funktioniert es leider nicht, da er einen echten Port öffnet und nicht diese Funktionalität nutzt.]
msdn2.microsoft.com/en-us/library/system.net.httplistener.aspx
gepostet vor 17 Jahre, 6 Monate von None
Beim HttpListener läuft es aber darauf hinaus, daß ich im Endeffekt alles selbst machen muß. Ok, das wäre zwar einiges mehr an Arbeit, aber nicht wirklich das Problem.
Hmmm... ach wie ich solche Designprobleme liebe... grmpfl.
Trotzdem danke an alle für die Antworten.
Ich muß mir jetzt zuerst einmal Atlas.Net ansehen und den HttpListener genauer betrachten.
Hmmm... ach wie ich solche Designprobleme liebe... grmpfl.
Trotzdem danke an alle für die Antworten.
Ich muß mir jetzt zuerst einmal Atlas.Net ansehen und den HttpListener genauer betrachten.