Laden...
Avatar #avatar-1744.gif
KsenkteSau myCSharp.de - Member
Entwickler Stuttgart Dabei seit 24.10.2005 29 Beiträge
Benutzerbeschreibung

Forenbeiträge von KsenkteSau Ingesamt 29 Beiträge

22.02.2006 - 16:36 Uhr

das Framework!

16.02.2006 - 13:27 Uhr

Original von Waschbecken
KsenkteSau, du bist ganz schön fett.

Thx m8 🙂

wenn jemand an einer kompletten Lösung interessiert ist, so schreibt mir einfach ne mail.

gruss

16.02.2006 - 10:20 Uhr

Original von Venlox
Was genau bedeutet das , ein src Objekt?

Nein, src ist ein Attribute und kein Objekt, Objekte haben Attribute.

Ganz einfach:

du deklarierst in deiner aspx-seite folgendes scriptchen:

<script id="rqstId">
</script>

im JavaScript ruft dein Event eine Methode auf, wo du dann den Request mittels des SRC.Attributes realisieren kannst.

Function XYZ(contextId)
{
document.getElementById("rqstId").src = "ABC.aspx?Context="+ contextId + "&time=" + new Date().getTime();
}

Wichtig ist, dass du in der RequestUrl noch die aktuelle Uhrzeit mit angibst, sonst kann es sein das dein Browser (Je nach Einstellung) sich den Response aus dem Cache zieht, wenn er merkt, dass er in seiner History bereits die RequestUrl hat. Durch die Erweiterung der Uhrzeit in der RequestUrl hast du immer eine eindeutige RequestUrl, und somit gibt es auch jedesmal ein Request zum Serverli 🙂

Du brauchst auch noch einen Context-RequestParameter, damit du auf Server beim Request zwischen einen richtigen Post und einen nachladbaren Post unterscheiden kannst.

ich hoffe, ich habe das jetzt net zu kompliziert erklärt 🙂

16.02.2006 - 09:37 Uhr

Original von herbivore

Abgesehen davon sollte auch ein Codierknecht, wie du ihn im Blick hast, durchaus über den Tellerrand hinausschauen können und auch dann ist es wieder nicht OOP alleine, was er lernen muss.

herbivore

Hallo herbivore,

natürlich hast du Recht, und ich habe auch nichts dagegen wenn die Leute Innovativ denken wollen, aber viele Entwickler nehmen es dann persönlich und sind zu naiv bei OOA, und das kann so einiges zerstören im Team. Also widersprechen möchte ich Dir auf keinen Fall, denn nur die Innovation ist die Zukunft.

In diesem Sinne,

gruss

16.02.2006 - 08:36 Uhr

Also wenn ich auch mal meinen Senf dazugeben darf.

OOP ist für mich eine Technik und nicht mehr! Schwierig wird es bei OOD, und da kenne ich keine einzige Person die das ordentlich kann, und du wirst auch kein Buch finden, wo es eine optimale OOD Musterlösung gibt, jede software hat seinen eigenen Charakter und ein eigenes Verhalten an Anforderungsänderungen.
Ich kriege jedesmal ein Schreck wenn ich sehe, wie ein Coder 30 Vererbungen macht und 10 Entwurfs-Pattern anwendet, obwohl es auch mit einer ganz einfachen Komposition möglich wäre. Ich sage immer wieder, Finger weg von Vererbung, eine saubere Datenstruktur mit einer guten Komposition ist aufjedenfall besser lesbar und wartbar, als irgendwelcher Vererbungs-Hirnmatsch!

Fazit: OOP ist nicht schwer, und ist auch sehr schnell lernbar. OOD dagegen ein Team-Stigma, was die wenigsten begreifen, und was für ein Software-Produkt das gefährlichste ist. In der Einfachheit liegt die Lösung und nicht wie oft die Programmierer denken, in der Komplexität Ihrer Hack-Lösung!

16.02.2006 - 08:03 Uhr

Original von Cord Worthmann
@KsenkteSau:
Es hat doch nicht jedes JS-Objekt eine src-Eigenschaft - lediglich für HTMLIFrameElement wäre das sinnvoll nutzbar.
Und das ist auch die beste Lösung, wenn man ActiveX im MSIE umschiffen will - man simuliert die zustandsbehaftete Verbindung über Interval-Callbacks durch einen Hidden-Iframe.
Da der ja nicht angezeigt werden muss, kann man den Output auf die wesentlichen Informationen beschränken, so entsteht auch eine sehr gute Performance für die Übertragung der aktualisierten Daten.

Grüsse

Hallo Worthmann,

natürlich hat ein JavaScript-Objekt ein src.Attribut. Ich meine allerdings nicht ein JavaScript-Datentyp oder ein Dom-Objekt, sondern ein Script-objekt! Ich glaube da hast du mich falsch verstanden bzw. ich habe mich nicht klar genug ausgedrückt .-)

15.02.2006 - 22:10 Uhr

Original von Venlox
Ja cool, kann man das , weil ich neu im ASP sektor bin , nicht mit ein paar ASP Befehlen machen?

AJAx klingt super, nur wo ist denn da die Homepage?

Oder Activex Objects oder wie man das nennt gibts da keine ?

Danke an dich im Vorfeld

Das hat eigentlich mit ASP wenig zu tun. Da ASP serverseitig agiert, du kannst höchstens im Custom oder User-Control deine JavaScript-Aufrufe vordefinieren, die dann zur Laufzeit im Browser Gültigkeit haben. Was noch bei ASP wichtig wäre ist, dass du den Response.Header-clearst! Bei AJAX wäre ich vorsichtig, da du nicht weisst ob der Client ActiveX-Objekte im Browser zulässt, die obengenannte Technik ist im Endeffekt AJAX, oder besser gesagt AJAA (nicht async. javascript and xml, sondern async. javascript and ascii) aber natürlich kannst du auch xml-konformes responsen, kein problem. Eben der Vorteil ist, dass du nur JavaScript und nicht ActiveX zulassen musst. Falls du aber das Problem nicht hast, dann kann ich dir nur ein super Buch empfehlen, AJAX von Olaf& Carsten Bergmann (ISBN 3-935539-26-6) Ist wirklich ein super toll erklärtes Buch mit einführendem Frameworks wie Beispielsweise SAJAX oder SARISSA. Ein weiterführendes Buch wäre dann noch Foundations of AJAX von Ryan Asleson und Nathaniel T.Schutta (ISBN 1-59059-582-3).

Viel Spass, ist wirklich eine tolle Technologie, die sich sicherlich auch in Web2.0 durchsetzen wird!

15.02.2006 - 16:42 Uhr

Original von Sixpack
Es geht auch mit 1.1! Allerdings ist es dann ein ActiveX Control!
Das Control in 2.0 ist eigentlich nur ein wrapper. Um das control im vollen umfang zu nutzen ist das activex control in verbindung mit mshtml besser!

Ja so ähnlich 🙂 Der einzige Unterschied liegt im ActiveX-Hoster. In 1.1 Hostet ein VB-Wrapper das WebbrowserControl, wobei in 2.0 ein C# - Control selber hostet. Das ist der Einzige Unterschied meines Wissens nach. Der entscheidende Punkt liegt aber nicht im Wrapper für das ActiveX-Objekt für den WebBrowser-Control sondern im Hosten des ActiveX-Dokumentes, was noch ein Überladen des DOM's ermöglicht -> DOM-Hacking 🙂

gruss

15.02.2006 - 16:26 Uhr

Probiers mal über das MSHTML-DOM


public void ClickLinkElementWithHrefAttributes(String hrefAttrib)
		{
			try
			{
				foreach(HtmlElement el in ((HtmlDocument)this.editorWebBrowser.Document).getElementsByTagName("A"))
				{
					if(el.getAttribute("href",0).ToString().Equals(hrefAttrib))
					{
						el.click();
						break;
					}		
				}
			}
			catch
			{
			}
			
		}

gruss

15.02.2006 - 16:20 Uhr

Also **vbprogger ** hat Recht, HTTP ist Zustandslos, somit kannst du nicht vom Server aus alle aktiven Clients in irgendwelcher art und weise benachrichtigen.

Die einzige Möglichkeit besteht darin, dein Feature ohne Postback zu realisieren, indem du über ein JavaScript Objekt in einer Schleife immer requests zum server sendest, und nachfragst, ob der aktuell User der Letzte User ist.

Ein tip:

Das JavaScript-Objekt hat ein src. Attribut, wenn du diese neu referenzierst, kriegst du aufm Server einen Request, beachte, dass du JavaScript-Konformen Response zurücksendest, am besten wieder ein JavaScript - Aufruf auf dem Client.

gruss

15.02.2006 - 15:49 Uhr

Also meines Wissens nach benutzt man hierbei keine TCP-Sockets, sondern UDP Basierte Sockets, der Vorteil liegt darin, dass der Client nicht jedesmal eine Verbindung zum Server herstellen muss.

gruss

28.10.2005 - 13:24 Uhr

Ich empfehle für solche Messungen grundsätzlich nur die PerformanceCounter Klassen!

26.10.2005 - 22:37 Uhr

Eine sehr gute Lösungsidee, ist zwar ein Hek aber was solls 😁
Den Vorteil hierbei ist halt, dass du dann mit dem SessionObjekt so hantieren kannst wie du willst.

26.10.2005 - 18:39 Uhr

Also ob es so eine Einstellung gibt , könnte ich meinen Projektleiter fragen.

Aber grundlegend solltest du nicht einen Page-Parameter in eine statische Variable speichern. Du brauchst vielmehr ein UI-Framework wo deine Seiten 1:1 zu einer UIPage abgebildet werden, und diese UIPages speicherst du dir in das gewünschte Szenario, sprich SessionState oder in den ApplicationState.

Was ich aber noch nicht ganz in deinem Problem verstehe, was können mehrere User temporär verändern? Also wenn du das verhindern möchtest, dann mit "Lock"
du kannst jede Variable "locken" das .NET Framework überwacht es dann selbständig.

Aber ich befürchte, dass euere Architektur nicht stimmt. 🙁

26.10.2005 - 16:44 Uhr

Original von UschkinRedSunshine
Hi,

Ich habe ein groesseres Projekt bekommen, welches zig hundert statische Variablen beinhaltet, und welches natuerlich mehrbenutzer-faehig sein soll.

Gibt es im IIS eine moeglichkeit zu sagen, das statische Variablen nur fuer eine session gelten sollen?

Also meines Wissens nach werden statische Variablen vom IIS sowieso nur innerhalb einer User-Session gespeichert. Du meinst wahrscheinlich dass deine Variablen während der Application eine Gültigkeit haben und du ein Problem mit der MehrbenutzerFähigkeit hast, ich weiss jetzt nicht inwiefern du den Zustand persisten halten musst, aber falls du verhindern möchtest, dass gleichzeitiger Zugriff auf die statische Variable verhindert werden soll, so kannst du dieses Problem mit der "lock-Methode" beseitigen.

26.10.2005 - 13:08 Uhr

ich habe auch schon so einige C/S Projekte hinter mir, ob .NET Remoting, JAVA/RMI/Sockets oder mit CORBA und auch mit WEBServices, und meine Meinung ist, Webservices ist was für Noobs die net haken können, sorry ist aber meine Meinung.

26.10.2005 - 12:20 Uhr

gut, ich werde jetzt nix mehr sagen, mach deine Erfahrung selber.

26.10.2005 - 11:16 Uhr

Also ich kan dir aus meiner Diplomarbeitserfahrung sagen, dass .NET Remoting sehr transparent aufgebaut ist, also es ist wirklich nicht allzusehr anspruchsvoll womit du also auch die Skalierbarkeit und Performance-Aspekte abdecken könntest.

26.10.2005 - 10:02 Uhr

Also ich rate dir, lass die Finger weg von WebServices, ist ein Schrott, .NET Remoting ist genau das richtige, und wenn du auch bissle programmieren kannst, kriegste das mit der Skalierbarbkeit auch selber hin, wird halt ein kleiner Applicationserverli 😁

Gruss

25.10.2005 - 13:57 Uhr

ja eben, ich glaube nicht, dass das wirklich ein speicherproblem ist, 3 MB, also bitte! 😉 Ich dachte vielleicht kann man das irgendwie in den Meta-Daten festlegen.

25.10.2005 - 13:42 Uhr

Erstmals danke für deine Antwort, aber klar gibt es paar Möglichkeiten das zu verhindern, zum Beispiel gehe ich mitm Filter durch, und selektiere nur 50 Punkte die den ToolTip haben sollen, was mich aber eher interessiert hat war, warum er bei 3 MB abschmiert?! 🙁

25.10.2005 - 13:04 Uhr

ich glaube du brauchst für dein Problem ein eigenes UI-Framework , wo du deine Pages 1:1 auf UIPages abbilden tust. Im Konstruktor kannst du dann eine ID übergeben, somit wird dann deine UIPage mit der richtigen ID geladen.

Es gibt aber noch einen anderen Trick, und zwar, du kannst dir ein javascript objekt erzeugen, wo du jedesmal bei PageLoad-Event den Server fragst, ob die Seite die richtige ist, falls nein, dann mit dem ResponseHelper weiterleiten, aber nicht mit der Response-Klasse.

25.10.2005 - 12:56 Uhr

Hallo Zusammen,

ich hätte da mal eine Frage, ich generiere Dundas-Grafiken in .NET.

Da die Grafiken einen Tooltip haben, werden noch im HTML Code MapArea-Tags generiert.

Jetzt mein Problem, wenn diese MapArea grösser als 2.MB ist (zuviele DataPoints)
dann schmiert der IE ab! Hat jemand dieses Problem beseitigt?

25.10.2005 - 12:15 Uhr

Das ist ein totaler Quatsch, sorry, aber der entscheidende Unterschied liegt irgendwo ganz anders!

25.10.2005 - 11:36 Uhr

Hallo Rainbird,

eine Frage an dich, warum Singleton? Und warum nicht SingleCall? Und warum TCP-Channel? Spielt dann deiner Meinung nach der Formatter keine Rolle ?
Finde deine Beiträge bissle verwirrend, da sie nicht vollständig argumentiert werden!

25.10.2005 - 11:20 Uhr

Ja dann lous, xml verschickst du am besten mit dem SOAP-Formatter und nem HTTP-Channel. Definier dir eine Schnittstelle und verschicks doch einfach, weiss jetzt net wo das Problem sein sollte.

25.10.2005 - 08:31 Uhr

@wpb: nein du musst das selber nicht serialisieren, das macht das Framework für dich, du musst es , wie der beitrag schon zuvor, lediglich als Serializable markieren.

25.10.2005 - 08:27 Uhr

Natürlich gibt es Verschlüsselung beim Serialisieren, hierbei ist das Schlagwort Sinks!

24.10.2005 - 16:54 Uhr

Ja Hallo, klar musst du nicht alles Serializieren, es müssen nur die Objekte Serialisiert werden, welche über die .NETRemoting Schnittstellen per Entfernten Aufruf übergeben werden.

Die Serialisierung wird hierbei deswegen gebraucht, um die Daten zu ent-bzw. verpacken für das Versenden im Soap oder Binary Format.