Laden...
W
wolfe myCSharp.de - Member
Programmierer Stuttgart Dabei seit 04.06.2004 19 Beiträge
Benutzerbeschreibung

Forenbeiträge von wolfe Ingesamt 19 Beiträge

15.06.2005 - 12:30 Uhr

Jetzt bin ich platt, es funktioniert. Ich dachte immer das Encoding.Default ist immer UTF8. Naja egal.
Nochmals vielen Dank

Gruß
wolfe

15.06.2005 - 12:20 Uhr

Hallo
Mein Problem ist, dass ich eine Textdatei Zeile für Zeile auslesen muss. Die Textdatei enthält die deutschen Sonderzeichen wie ßüä u.s.w. und aber auch das Zeichen +. Wenn ich die Textdatei mit UTF7 einlesen sehe ich die deutschen Sonderzeichen korrekt jedoch ums verregen nicht das + Zeichen. Wenn ich mit UTF8 einlese sehe ich zwar das + Zeichen jedoch nicht die deutschen Sonderzeichen.

Was kann ich denn tun damit alle Zeichen korrekt eingelesen werden.

Gruß
Wolfe

01.04.2005 - 22:47 Uhr

Ob der Name Applet richtig ist, ist mir eigentlich schnurz egal. Ich denke jedoch nicht das die Sache auf ActiveX beruht, da auf der Clientseite die CLR gestartet wird und auch unter deren Sicherheitsrichtlinien läuft. Wie der Mechanismus im Detail ist interessiert mich auch recht wenig, da es tadellos funktioniert. Du hast schon recht dass das quasi Applet nur im IE und das auch nur ab Version 6 läuft und zusätzlich auch nur unter Windows. Aber vielleicht machen die Firefox bzw. Opera Entwickler doch mal einen Quantensprung um auch das .Net Framework in Ihren Browsern zu unterstützen. Seither haben sie ja ActiveX wegen Sicherheitsbedenken abgelehnt. Ich denke das .Net Framework ist da sehr sicher zumindest nicht unsicherer als ein Java Applet. Vielleicht schafft es ja das Mono Projekt Windows Forms gut zu unterstützen, dann könnte das auch ein Schub für andere Browserhersteller geben. Es wäre doch ganz gut wenn es auch eine Alternative zu Java Applets geben würde oder denkst du da anders? Meiner Ansicht gehört die Zukunft SmartClients was die Vorteile der WindowsForms benutzt und das Deployment von Webtechnologien hat. Wir haben bei uns am Anfang Java-Applets benutzt haben aber erhebliche Probleme mit unseren Anwendungen gehabt aber es kann durchaus sein dass dies inzwischen in einer späteren JavaVersion behoben wurde.
Zur Zeit läuft alles sehr zuverlässig. Manchmal ist es besser eine Sache sehr zuverläassig zu machen als platformabhängige Kompromisse eingehen zu müssen. Sofern die Anwendung nicht die premisse hat auf verschiedenen Platformen zu laufen.
Gruß
wolfe

26.03.2005 - 21:21 Uhr

Nein das heiß das nicht. Ich habe gerade einen ausführliche Beitrag geschrieben, dass das Thema erläutert. Schau mal unter meinen Beiträgen nach. Such nach wolfe.

Die DLL liegt auf dem Webserver und wird über das Object Tag in eine HTML oder ASCX ASPX seite eingebunden. Das Framework muss jedoch auf dem Client installiert sein. Du kannst dir mal ein kleines Beispiel anschauen. Geh auf die Webseite von http://tv-grossbottwar.de und da unter Unterhaltung und WebGame. Da habe ich ein .NetApplet mal eingebunden. Du kannst dir dann ja den Sourcecode für die Einbindung anschauen.

Gruß
Wolfe

26.03.2005 - 21:13 Uhr

Hallo CDROM,
sorry das ich so spät antworte. Habe leider zeimlich viel um die Ohren.

Jetzt versuch ich die das mal zu erklären.
Ein so genanntes .Net Applet muss als UserControl erstellt werden. Wenn du dies gemacht hast gibt es auf dem Client 3 Möglichkeiten um die Applet (wennn dies überhaupt der richtige Namen ist) ablaufen zu lassen. Ich setze jetzt mal voraus dass die Kommunikation mit dem Server und der Datenbank (wenn überhaupt erforderlich) mit Webservices durchgeführt wird. Dies hat den Vorteli, dass das ganze auch tadellos im Internet funktioniert.

So nun die Möglichkeiten:
1: User Control als DLL. Die Einbindung passiert in der CodeBehind Datei. Voraussetzung ein LiteralControl auf der ASPX oder ASCX Seite:

//*****************
string WebService = WebserviceHost + "/" + Request.Url.Segments[1]+ "WebServices/Eingang.asmx";

int height = 710;
int width = 800;

string msg = "Das Native Modul konnte nicht geladen werden! <br><br>" +
"Bitte überprüfen Sie folgende Eigenschaften: <br>" +
"Das NetFramework muss auf Ihrem Rechner installiert sein. <br>" +
"Die NetFramework Sicherheit muss auf Mittlere Sicherheit eingestellt sein. <br>" +
"Die zu ladende DLL muss auf dem Server vorhanden und erreichbar sein.";

StringBuilder sb = new StringBuilder();
sb.Append("<OBJECT\n");
sb.Append("id=stamm\n");
sb.Appen("classid=&quot;http:binclient/Eingang.dll#SpgLog.clsEingang&quot;\n");
sb.Append("height=" + height + "\n");
sb.Append("width=" + width + ">\n");
sb.Append("</OBJECT>\n");
sb.Append("<script language='JavaScript'>\n");
sb.Append("window.onerror = ErrorHandle\n");
sb.Append("document.stamm.setwebservice('" + WebService + "');\n");
sb.Append("function ErrorHandle(){\n");
sb.Append("document.all.lblError.innerHTML=&quot;" + msg + "&quot;;\n");
sb.Append("return true;\n");
sb.Append("}\n");
sb.Append("</script>\n");
Literal1.Text = sb.ToString();

//*******************
So, wie du oben siehst musst du mit der calss ID den Pfad zur DLL auf dem Webserver eingeben. mit den Functionen übergebe ich Parameter in das Control. Geht alles sehr gut. Vorsich beim Programmieren mit den Sicherheiten, da du auf dem Client standardmäßig nur geringe rechte hast.

  1. Dein erstelltes UserControl über ein ganz normales Exe Programm einbinden. Dazu baust du ein kleines WinForm Projekt.
    Das Control bindest du folgendermapen ein.
    private clsEingang ctrl= new clsEingang();
    this.Controls.Add(ctrl);

Und schon wird das Control angezeigt. Die Verbindung zum Webserver mit dem Webservicepfad stelle ich in der App.Config ein. (Aber das nur nebenbei).

So und jetzt kannst du das Programm auf dem Client starten, indem du im Internetexplorer den Pfad zur exe Datei angibst. Das Programm geht dann außerhalb vom IE auf. Und du kannst es vergrößern u.s.w. wie eine native Applikation. Das Vergrößern geht innerhalb vom IE nicht. Geht auch einfach oder nicht?

  1. Natürlich kannst du die Exe mit der DLL auch lokal auf dem Client installieren und sie ganz normal starten. Die Kommunikation zum Webserver geht über Webservices. Dann gibt es auch keine Rechte Einschränkung.

Zum Abschluß möchte ich noch sagen. Diese Thematik ist hochinteressant und leider wird dies zu wenig gepuscht. Aber noch eins auf dem Client muss natürlich das Framework installiert sein und es geht derzeit nur im IE ab 6.0. Aber die Zukunft geht dahin (SmartClients)

Gruß
Wolfe

26.03.2005 - 20:36 Uhr

Naja wenn du auf dem Webserver eine Datei anlegen möchtest muss das Verzeichnis mit dem ASPNET User schreibberechtigt sein und schon geht es. Das Schreibrecht muss auf Windows Ebene eingetragen werden und nicht im IIS. Denn es ist so dass die Webanwendung unter dem ASPNET User Account läuft.
Gruß
wolfe

26.03.2005 - 20:31 Uhr

Hallo taotao,
du kannst das ganz normal mit Windows Forms machen und diese als Obeject in eine Html Seite einbinden. Wichtig, das Programm muss als Steuerelement und als DLL verfügbar sein, dann kannst du nahezu alles machen was auch native möglich ist. Das beste ist du kommunizierst mit dem Webserver per Webservices, dann hast du keine Probleme mit Firewalls und so weiter. Was die Sicherheit betrifft so musst du aufpassen dass du nicht auf das Clientsystem direkt zugreifst, da die rechte eines .Net Applets sonst nicht ausreichen.
Aber es geht und das eigentlich ganz einfach.
Gruß
Wolfe

21.03.2005 - 23:06 Uhr

Also Leute, wie der vorige Artikel im Link zeigt dass es geht kann ich nur bestätigen. Wir entwickeln schon seit einiger Zeit c# Native Anwendungen die sowohl direkt, im Internetexplorer oder direkt über eine DownloadURL laufen. Dies geht alles eigentlich ziemlich einfach. Die Kommunikation zum Server machen wir über WebServices. Vielleicht interriesiert es jemand, dann kann ich noch einzelheiten nennen. Gewisse Dinge muss man beachten. Aber ein .Net Applet ist bei weitem einfacher zum handhaben als ein Java Applet. Die Einbindung funktioniert ebenfalls pber das Objekt Tag in eine Html Seite.
Gruß
Wolfe

20.01.2005 - 22:29 Uhr

Wahrscheinlich hast du die DataBind() Methode in der If(!Page.IsPostBack) section eingebunden. Wenn das so ist reagieren die Ereignisse nicht.

Gruß
Wolfe

20.01.2005 - 22:26 Uhr

Hallo Denny,
ich denke du musst deine BrowserCaps updaten. Diese stehen in der Regel in der Machine.config im WindowsVerzeichnis unter NetFramework. Dann gelten die Einstellungen für den kompletten Rechner. Du kannst sie auch über die WebConfig einstellen. Es gibt da Internetseiten die aktuelle Browsercaps bereitstellen. Such einfach mal danach. Danach sind die Probleme eventuell weg.

Gruß
Wolfe

20.01.2005 - 22:19 Uhr

Jetzt hab ich den fehler selbst gefunden. Ich ging über einen Proxy. Da muss ich natürlich die Proxydaten mit eigeben

18.01.2005 - 11:28 Uhr

Hallo Leute,
ich steh da vor einem Problem und komm einfach nicht weiter:

Ich möchte den ResponseStream einer URL in einem String speichern.

Folgendes habe ich probiert:

string HTML = "";
Uri baseUri = new Uri("http://www.hvw-online.org");
Uri myUri = new Uri(baseUri, "/Spielbetrieb/index.php?m=16&score=4528");
WebRequest puffRequest = WebRequest.Create(myUri);
WebResponse puffResponse = puffRequest.GetResponse();
StreamReader puffStream = new StreamReade(puffResponse.GetResponseStream());
puffResponse.Close();
while(puffStream.Peek() > 0){
HTML = HTML + puffStream.ReadLine();
}
puffStream.Close();

Das Ergebnis funktioniert wenn die URL ohne RelativePfade aufgerufen wird. Sobald relative Pfade drin sind kommt bei der puffRequest.GetResponse() Methode eine Exception "Der Remotename konnte nicht aufgelöst werden"

Hat jemand eine Lösung oder gibt es noch einen anderen Weg?
Gruß
Wolfe

10.01.2005 - 23:23 Uhr

Ich dachte schon, dass nur mir das aufgefallen ist. Aber wenn das so weiter geht werde ich das DotNet Magazin abbestellen. Das habe ich immerhin seit über 2 Jahren abonemiert und war immer zufrieden. Im übrigen komme ich selber aus der VB 6 Schiene und habe auf c# umgelernt. Ich muss sagen, dass ich diesen Schritt nie bereut habe, da der Code einfach eleganter unt übersichtlicher ist. Aber deshalb habe ich sicher nichts gegen VB Entwickler. Ich denke das DotNet Magazin mutiert zu VB, weil der Chefredakteur schlicht und einfach ein VB'ler ist. Aber vielleicht ändert sich das ja noch.

Wolfe

29.12.2004 - 21:53 Uhr

Hallo Bart,
wir entwickeln auch mit Webservices. Das WebserviceEnhancementPack löst die angesprochenen Probleme hervorragend. Soweit ich weiss arbeiten verschiedene Firmen bereits an einem Standard(Microsoft, IBM, Sun u.s.w.). Wann Dieser verabschiedet wird weiß ich jedoch nicht. Bei Standardisierungen dauert dies ja bekanntlich. Ich bin mir sicher, dass hier eine umfangreiche Lösung kommt und ich bin auch überzeugt, dass große Teile der WSE mit einfließen. Ich würde auch eine Lösung wie du sie vor hast anvisieren.

Gruß
Wolfe

29.12.2004 - 21:44 Uhr

Hallo Pulpapex,
danke für Deine ausführliche Antwort. Ich denke ich werde mal in unsere Anwendung ein MVC versuchen einzuarbeiten.
Seither habe ich die Trennung der GUI und Anwenderlogik über Webservices realisiert. Das Funktioniert sehr gut, und ich bin dann im GUI auch unabhängig. Das heißt egal ob WinForms, ASP.NET GUI oder Java GUI funktioniert die Sache echt gut. Bei PHP weiß ich nicht Bescheid, müsste aber auch funktionieren. Meines erachtens sind die Webservices die Zukunft. Aber vielleicht mache ich da ja schon die Trennung ala MVC. Was ich bei Webservices noch nicht versucht habe sind asynchrone Aufrufe aber dies sollte ja auch funktionieren. Bei der Performance habe ich entgegen meinen Erwartungen keine großen Probleme festgestellt. Einzig die noch mangelhafte Datentypenunterstützung ist noch ein Problem, doch so weit ich weiß wird ja bereits über einen Standard diskutiert.

Gruß
Wolfe

25.12.2004 - 16:03 Uhr

Wir arbeiten an einem WebPrtojekt auf Basis von ISpyPortal. In letzter Zeit habe ich einiges über MVC gehört und hab mir mal das Maverick Projekt angesehen. Eigentlich habe ich mir mehr davon erhofft, wobei ich noch nicht hinter den tiefen Sinn gestiegen bin.
Ich hätte da mal ein paar Fragen:
Durch die Entkopplung der ASP.NET Seiten mit dem Pattern gehen doch die ganzen ROUNDTrips verloren, das heißt ich kann die Serversteuerelemente wenn überhaupt nur schwierig nutzen. Dies ist doch ein tolles Feature von ASP.NET. Genauso die serverseitige Eventbehandlung. Warum muss es denn immer so umständlich sein, wenn es doch auch einfacher geht.

Ist das MVC Pattern eigentlich nicht veraltet, da doch ASP.NET schon eine gewisse Architektur mit CodeBehind vorschreibt?

Wo liegt den der tiefe Sinn in den MVC-Patterns, ich glaube in der Praxis kann das nur sehr schwer umgesetzt werden?

Ich hab zwar schon einige Fachbeiträge dazu gelesen, doch so wirklich schlau bin ich nicht geworden.

22.11.2004 - 21:27 Uhr

Hallo marcelws,

Wenn du die Datagrid Spalten dynamisch aufbaust, kannst du eine Hyperlinkspalte so aufbauen. In den Eigenschaftengenerator geht das auch irgendwie. Wenn du das DataNavigateUrlField an ein Feld bindest wird im DataNavigateUrlFormatString der Platzhalter automatisch mit dem Wert ersetzt. Du kannst jedoch nur ein Feld an das DataNavigateUrlField binden.

//Bearbeiten Spalte bauen
HyperLinkColumn hcol = new HyperLinkColumn();
hcol.DataNavigateUrlField = "AutoID";
string Singleurl = "WebForm.aspx";

hcol.DataNavigateUrlFormatString = Singleurl + "&id={0}
hcol.Text = "<img src='images/edit.gif' title='" + TollTipText + "' border='0'/>";
DataGrid1.Columns.Add(hcol);

Ich hoffe du kannst was damit anfangen
Gruß wolfe

22.11.2004 - 21:13 Uhr

Hi eXistenZ,
Ich hatte mal das gleiche Problem. Ich hatte das im SQL Befehl gelöst.
Und zwar war es so ähnlich:

SELECT (BestNr + ' ' + BestData + ' ' + LiefDat + ' ' + BestName) AS Text, BestNr AS Wert From Bestellungen WHERE ....

Ich bin mir bei der Syntax nicht mehr ganz sicher. Aber so geht es auf jeden Fall.

Gruß
wolfe

04.06.2004 - 23:21 Uhr

Ich bin neu in eurem Forum und muss erst noch klar kommen wie die Beiträge eingestellt werden. Zu der Frage ob dieses Forum in ASP.NET geschrieben werden soll kann ich nur soviel sagen.
Auf Dauer wird es wohl besser sein auf ASP.Net umzusteigen. Ich selbst Programmiere eine ziemlich aufwendige Web-Anwendung mit RFID Technologie unter ASP.NET. Inzwischen bin ich überzeugter .Net Fan. Es ist schon enorm was ASP.Net inzwischen bietet. Wir hatten am Anfang unseres Projektes auf Java gesetzt, doch aufgrund der Umständlichkeiten von Java mit dem J-Builder was Web Anwendungen betrifft sind wir auf ASP.NET umgestiegen.
Inzwischen hat es sich bestätigt, dass mit VStudio einfach schneller Anwendungen entwickelt werden können. Was PHP betrifft so kann ich mich nicht darüber äußern aber ich denke das der Markt in Zukunft eher zu ASP.Net zugeht. Das sieht man auch im Bestreben von MS mit WebServices u.s.w. WebServices in ASP.Net ist einfach easy zu realisieren. Im Vergleich mit Java Tomcat oder Jboss oder was weiß ich was noch alles ist ASP.Net auf Windows weit überlegen. In der Linux Welt muss man mal abwarten wie sich das Mono Projekt weiterentwickelt. Wir selbst haben unser Projekt so konzeptiert, dass wir eine Implementation auf Linux (Mono) vornehmen können.

Uff
Jetzt habe ich doch mehr geschreiben als ich wollte.