Laden...
T
Tosek myCSharp.de - Member
Gelsenkirchen Dabei seit 08.06.2006 38 Beiträge
Benutzerbeschreibung

Forenbeiträge von Tosek Ingesamt 38 Beiträge

15.11.2006 - 12:13 Uhr

Hallo,

ich habe es ausprobiert und es läuft prima. Danke euch.

14.11.2006 - 14:29 Uhr

Hallo,

wichtig bei mir ist halt, dass ich die Datei nicht als "wirkliche" Datei im Filesystem habe, sondern ich sie von einem remote-object als byte array übergeben bekomme.

Ich werde das mal ausprobieren. Danke schonmal

14.11.2006 - 11:34 Uhr

hallo,

ich habe in meiner Webserver Applikation eine Datei in ein byte Array geladen.
Nun möchte ich diese Datei an den Client / Webbrowser senden.

Dazu muss ich doch im Response den Mime-type korrekt setzen und das das byte Array in den Response Stream setzen, oder?

Meine Frage wäre, kann ich einen quasi allgemeinen Mimetype setzen, welcher auf dem Client einen Dialog, "speichern unter" oder "öffnen" verursacht? Wenn ja, welcher wäre das?

26.10.2006 - 17:12 Uhr

ok, ich habe mir das ganze in der session gemerkt. Jetzt läuft es. Danke euch.

26.10.2006 - 16:48 Uhr

also,

ich kann nun teilweise sortieren:


protected void GridView1_Sorting(Object sender, GridViewSortEventArgs e)
    {
        String s = e.SortDirection.ToString();
        if (s.ToUpper() == "DESCENDING")
        {
            s = "DESC";
        }
        else
        {
            s = "ASC";
        }
        dc.DefaultView.Sort = e.SortExpression + " " + s;
        GridView1.DataSource = dc;
        GridView1.DataBind();
    }

Soweit so gut, aber ich bekomme als SortDirection immer nur "Ascending" zurück. Liefert mir das Gridview nicht abwechselnd Ascending und Descending zurück?

26.10.2006 - 16:34 Uhr

Heißt das also, dass ich für mein DataTable Objekt, welches an das Gridview gebunden ist eine eigene Sortierfunktion schreiben und diese im Sorting-Event ausführen müsste?

26.10.2006 - 16:20 Uhr

Hallo,

ich habe ein GridView-Control, welches ich mit einer eigenen Liste binde.
Diese wird korrekt angezeigt.
Das datatable hat die Columns "Typ", "Name" und "Quelle".
Diese sind jeweils mit einem BoundField im GridView gebunden.
Jetzt habe ich im GridView die Eigenschaft AllowSorting="True" gesetzt.
Bei den Boundfields habe ich im SortExpression jeweils "Typ", "Name" und "Quelle" eingetragen.

Wenn ich aber nun auf den Griedview Header eine Spalte zum Sortirren anklicke, dann passiert einfach garnichts. Die Liste wird nicht sortiert.

Fehlt mir noch was?

26.10.2006 - 15:22 Uhr

OK,

ich habe es selbst hinbekommen. War ja eigentlich auch logisch: Natürlich muss man den PageIndex neu setzen bevor man das DataBind macht.

26.10.2006 - 15:08 Uhr

hallo,

ich möchte in meinem GridView automatisch pagen. Dazu behandle ich das Event PageIndexChanging.

Wenn nun dies Event gefuert wird, muss ich dort doch wohl zum einen den neuen PageIndexsetzen (GridView1.PageIndex= e.NewPageIndex) und zum anderen die datenbindung neu machen, oder? Zumindest wenn ich eine Quelle verwende, die inzwischen nicht mehr da ist (weil es keine datenbank war, sondern "nur" eine List)

Grundsätzlich geht das auch, allerdings reagiert das GridView immer erst nach dem 2. Klick auf die neue Page und schaltet dann um.
Fehlt mir da irgendwas?


protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
dc = GetMyTable();
GridView1.DataSource = dc;
GridView1.DataBind();
GridView1.PageIndex= e.NewPageIndex;
}

26.10.2006 - 14:23 Uhr

Hallo,

Viewstate wäre wahrscheinlich nicht sehr gut geeignet.
Entweder Session oder DB.

DB als Zwischenspeicher wäre denkbar. Dann müsste ich in einer Tabelle alle Werte zusammen mit der Session-ID(????) speichern und dann immer darauf zugreifen, oder?

Aber ich müsste ja zu irgendeinem Zeitpunkt die Datenbank wieder leerräumen. (Sonst läuft Sie irgendwann voll) Welche Stelle würde sich da anbieten?

26.10.2006 - 13:40 Uhr

Also:

ich habe einen Dienst geschrieben, der Daten als Ergebnis einer Suche aus unterschiedlichsten Quellen holen kann (quasi als Art Information-Crawler). Diese Quellen können Filesysteme, Archivsysteme ERP Systeme (SAP R/3) etc. sein. Das Ganze wird in einer einzigen Ergebnisliste zusammengeführt und per GridView angezeigt.

Wenn nun der GridView paged, will der Gridview natürlich auf weitere daten aus der gebundenen Quelle zugreifen, die aber im Postback einfach nicht mehr da ist.

Wenn ich die Abfrage bei jedem Postback neu starte, dann habe ich 2 Probleme:

  1. Zum einen erzeugt das tierisch Last im gesammten Netzwerk (und die Liste war ja schon einmal vollständig da). Ich brauch Sie auch ganz, da der Anwender sortieren können soll.

  2. Die Liste gann sich in der zwischenzeit geändert haben (neue Einträge können hinzugekommen sein). Ich will aber nur den Stand des Abfragezeitpunkts darstellen.

26.10.2006 - 13:22 Uhr

hallo,

ich habe eine ASP.net (2.0) Seite und lege dort im Page_Load ein List mit selbstdefinierten Objekten an.
Insgesamt sind relativ viele daten in diesem Array gespeichert.
Diese daten zeige ich auch auf der ASP.Net seite (zumindest teilweise) an.

Jetzt möchte ich nach einem Postback weiterhin diese daten zur Verfügung haben. Wie kann ich das hinbekommen? (Ich kann leider nicht jedesmal das Array neu aufbauen, da dies viel zu viel Zeit beanspruchen würde).

(Alles als Sessionvariable in eine Session packen? Oder was wäre sonst geeignet?)

Gruß
Tosek

25.10.2006 - 14:37 Uhr

Jetzt ist das 10 ct Stück bei mir gefallen. Sorry, dass ich so begriffsstutzig war.

Damit werde ich es wohl hinbekommen.

Vielen Dank Waschbecklen. 🙂

Wobei ich immer noch mich frage warum ich die invisible Spalten nicht auslesen kann. (Bei den visible Spalten geht es doch auch)

25.10.2006 - 13:52 Uhr

Sorry, aber das ist einfach nicht mein Problem.

Ich kann jetzt schon prima auf einen Buttonklick reagieren.
Ich kann auch prima dann die Einträge in einem Gridview auslesen.

**Was ich jedoch einfach nicht kann, ist die Einträge einer auf invisble konfigurierten Spalte auslesen. (ich bekomme bei der Eigenschaft Text immer nur "" zurück) Nur darum geht es. **

Ich verstehe irgendwie nicht,

1.) was mir ein Templatefield dabei helfen könnte
2.) warum ich visible = false Spalten aus einem Gridview nicht auslesen kann.

Wenn visible nämlich = true ist, dann klappt alles wunderbar.

24.10.2006 - 15:23 Uhr

Hallo,

irgendwie weiß ich trotz webrecherche noch nicht wie ich das ganze angehen soll.

Ich habe eine Datatable mit den Columns: Name, Adresse, ID
Name und Adresse will ich im Datagrid anzeigen. Dazu habe ich im Datagrid 3 BoundFields mit den Spalten verknüpft.
Die 4. Datagrid Spalte ist ein Buttonfield, welches an nichts gebunden ist. Ich verwende es, damit mit auf einen EIntrag eine Aktion auslösen kann.

Wenn ich das Buttonfield mit ID binde, dann steht die ID auch immer auf dem button, was ich garnicht will. Auf dem Button soll immer "mach was" stehen.

Jetzt habe ich versucht ein TemplateField zu verwenden:


<asp:templatefield headertext="ID">
            <itemtemplate>
              <asp:label id="ID" text="" />
            </itemtemplate>
</asp:templatefield>

Allerdings weiß ich nicht, wie ich denn nun Daten in diesem Templatefield insb. dem Label in dem Templete Field ablegen soll, und wie ich diese dann nach Buttonclick auch auslesen soll, vor allen Dingen, wenn ich das Templatefield mit visible=false auf unsichtbar schalte?

Könnt ihr mir evtl. einen konkreteren Tip geben?

24.10.2006 - 13:33 Uhr

hallo,

leider löst das mein Problem nicht. Ich bekomme ja sehr gut eine Datenquelle gesetzt.
Allerdings habe ich in meinem Gridview je zeile auch ein paar buttonfields. Wenn nun diese geklickt werden z.b. dann das Command "show" s.o. senden, dann soll mit dem item, welches in dieser Zeile dargestellt wird eine bestimmte aktion geschehen. Um diese Aktion machen zu könne, benötige ich allerdings mehr Informationen als ich dem benutzer anzeigen möchte (z.B. eine sehr große Zahl, die das Item eindeutig identifiziert).
Diese wollte ich in einem hidden field des Gridview verstecken. Dann hätte ich sie auslesen und meine aktion durchführen können.

Somit bleibt die Frage, wie kann ich zu einer gridview row zusätzliche, versteckte Informationen speichern und auslesen?

24.10.2006 - 12:25 Uhr

hallo,

welchen Alternativweg schlägst du denn vor?

Wenn der von mir genommene Weg nicht funktioniert, frage ich mich, wofür die visible Eigenschaft dann überhaupt gut ist.

24.10.2006 - 11:44 Uhr

das funktioniert leider nicht. ich habe einfach mal alle felder meiner Datenquelle in DataKeyNames eingetragen. Wenn ich mir dann den Text holen will:


        if (e.CommandName == "show")
        {
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow selectedRow = GridView1.Rows[index];
            TableCell a = selectedRow.Cells[2];
            String s = a.Text;
            Label1.Text = "<b>" + s + "</b>";
        }

ist der Text immer leer.
Setze ich allerdings die Eigenschaft Visible der Spalte auf true (dann wird die Spalte auch angezeigt), dann kann ich den Text prima auslesen.

Ich möchte die Spalte allerdings auf keinen Fall anzeigen.

Was kann ich tun?

24.10.2006 - 10:56 Uhr

hallo,

ich benutze ein Gridview unter ASP.net 2.0.

Das klappt soweit auch prima.

Nun habe ich meherere Columns. Eins davon soll für den Anwender nicht sichtbar sein. Also habe ich die Eigenschaft auf visible = false gestellt. Damit ist die Spalte weg.

Leider kann ich im Postback den Text der Spalte nur auslesen, wenn diese sichtbar ist, ansonsten ist der Text = "".

Wie bekomme ich das hin, dass ich zusätzliche Daten in unsichtbaren Spalten verstecken kann?

Gruß
Tosek

24.10.2006 - 10:53 Uhr

hallo,

ich erzeuge jetzt eine Datatable und fülle diese statt meines Arrays. Dadurch klappt es nun.

Danke schonmal.

24.10.2006 - 08:56 Uhr

hallo,

wo kann ich finden wie ich die Schnittstelle auszuprägen habe? Gibt es irgendwo Dokumentation? Ich habe in der MSDN nicht das richtige gefunden.

Danke im voraus.
Torsten

23.10.2006 - 15:54 Uhr

bei datasource muss ich aber doch ein object vom typ datatable angeben, oder?

Woher soll das Gridview vorher wissen, wie meine collection (in meinem fall ein ArrayList mit einer Liste von structs oder datenobjekten mit diversen public members) aussieht?

23.10.2006 - 15:27 Uhr

Hi,

ich verstehe aber noch nicht ganz, wie ich daten in das Gridview einfüllen kann, wenn diese nicht aus einerr Datenbank (datenbank-quelle) kommen, sondern einfach aus einer collection, die ich selbst verwalte.

Kann mir da jemand einen Tip geben?

20.10.2006 - 12:53 Uhr

Hallo zusammen,

ich möchte in meiner ASP.NET (2.0) Anwendung eine Abfrage auf dem Server machen und das Ergebnis (keine Datenbankabfrage, irgendwas proprietäres) dann auf einer Webseite als Liste darstellen.

Diese Liste soll je Eintrag einen Text, einen Link, vorne eine Checkbox und jeweils 2-3 Buttons beinhalten. Am Kopf der Liste soll noch eine Checkbox zum an-/ auschecken aller Checkboxen sein.

Kann ich sowas mit irgendeinem Control erstellen, so dass ich auch Events, Postbacks usw. benutzen kann?

Wenn ja, wo finde ich dazu Beispiele oder Informationen?

Gruß
Tosek

18.10.2006 - 10:27 Uhr

Hallo,

danke für die Hilfe.

Da mein Object im Server solange leben soll wie der Server selbst ist der Tip mit dem Lifetime schon genau passend, denke ich. Es scheint auch prima zu funktionieren. Der Server läuft nun problemlos seit 24 Std.

Sobald die WCF released ist, werde ich natürlich drüber nachdenken die Archivtektur daraufhin nochmals zu ünerdenken.

Gruß
Tosek

16.10.2006 - 15:12 Uhr

hallo zusammen,

ich habe ein problem mit .NET remoting, welches ich bisher nicht lösen kann:

Ich habe eine remoting programm, bestehend aus server und client geschrieben. Ein Client kann vom Server eine Ergebnisliste anfordern. Diese wird in einem komplexen Object zurückgegeben. Das funktionieert soweit auch prima.
Leider bekomme ich nach einiger Zeit (zwischendurch den client mehrfach gestartet, Liste angefordert, gewartet etc.) die Meldung, dass der (Remoting-)Service nicht verfügbar sei.

Ich dachte schon an ein lifetime Problem und habe deswegen Debug ausgaben im destructor des remoting objectes gemacht, aber dieser scheint nicht aufgerufen zu werden (erst wenn ich den server beende).

hat irgendjemand eine Idee, was ich tun kann?

Hier der relevante code:



[Serializable]
public class AgentHost : System.MarshalByRefObject    // this is my main server object
{
public AgentResult GetMessage(String Name)
{ // do something}
}

[Serializable]
public class AgentResult : MarshalByRefObject   // This is my complex return object
{
public String[] m_Label;
public String[] m_Path;
public String[] m_AgentID;
public String[] m_Itemtype;
public AgentResult()
{}
public AgentResult(AgentResult o)   // "copy" constructor
{
m_Label = new String[o.m_Label.Length];
o.m_Label.CopyTo(m_Label,0);
m_Path = new String[o.m_Path.Length];
o.m_Path.CopyTo(m_Path,0);
m_AgentID = new String[o.m_AgentID.Length];
o.m_AgentID.CopyTo(m_AgentID, 0);
m_Itemtype = new String[o.m_Itemtype.Length];
o.m_Itemtype.CopyTo(m_Itemtype, 0);
}
}

// This is how my server instanciates the server object

TcpChannel tcpChannel = new TcpChannel(7777);
ChannelServices.RegisterChannel(tcpChannel);
AgentHost agentHost = new AgentHost();RemotingServices.Marshal(agentHost, "BrokerAgent");
Console.ReadLine();   // run server until "return" is pressed 

// now the client side
AgentHost agentHost = null;
agentHost = (AgentHost)(RemotingServices.Connect(typeof(AgentHost), "tcp://localhost:7777/BrokerAgent", agentHost));
AgentResult agentResult = agentHost.GetMessage("Test");


Beste Grüße
Tosek

11.09.2006 - 10:29 Uhr

hallo zusammen,

ich möchte mittels des picturebox control multipage-tifs anzeigen.
Wenn ich diese über die load funktion lade, wird auch die erste Seite nagezeit. Wie kann ich es hinbekommen, dass ich die Anzahl der weiteren seiten angezeitg bekomme bzw. wie kann ich die anderen Seiten als grafik im pictureboxcontrol anzeigen?

Hat da jemand eine Lösung dafür?

mfg
Torsten

28.08.2006 - 15:48 Uhr

hallo zusammen,

ich habe mit ASP.NET noch relativ wenig Erfahrung (mit C# selbst schon).
Nun möchte ich eine Web-Anwendung bauen, die - natürlich - über Authentifizierung verfügt. Dabei soll es verschiedene Möglichkeiten zu Zugangs geben.
Die Benutzer sollen nichts mir irgendwelchen Domänenbenutzern zutun haben. Ich will eigene Berechtigungen usw. erstellen und selbst im meiner Anwendung verwalten.

Zum einen soll ich eine beliebig gestaltbare Login-Seite geben.
Zjm anderen soll ein Single-Sign on von aussen, also ein mitgeben eines Accounts inkl. Passwort aus einem belibigen Portal heraus möglich sein.

Ich kenne in dieser Beziehung die entsprechenden java-Technologien, bei denen ich Session management und Login quasi nahezu selbst (wie bei PHP z.B. auch, zwar immer alles mit Hilfklassen) über eigene Formulare implementiere.

kann ich das alles auch in ASP.NET tun? Sprich, wie flexibel ist das Authentifizierungssystem und das Session Management in ASP.NET?

Und wo kann ich mal ein paar erste Tutorials finden, um mich dort mal hereinzulesen?

Vielen Dank im voraus für eure Meinungen.

Gruß
Tosek

14.07.2006 - 13:27 Uhr

hallo,

ich werde jetzt erstmal die Radikalkur probieren und meinen Rechner neu aufsetzen lassen. Die Fehlersuche ist mir an dieser Stelle zu aufwändig. Wenn das auch nicht hilft, dann muss ich mal weitersehen.

Gruß
Torsten

13.07.2006 - 13:13 Uhr

Hallo,

das mit den Checksummen ist mir klar.

Ich frage mich, was dies für eine Phänomen auf meinem Rechner ist. Ich habe das Beispiel jetzt auf dem Rechner eines Kollegen ausprobiert. Dort kann ich auch immer per lokal loop die große datei ohne Übertragungsfehler transferieren. Auf meinem Rechner gibt es fast immer einen Fehler. Woran kann sowas liegen?

Ich habe eigentlich kein Problem mit irgendwelches Netztwerkthemen bislang festtsellen können und mein Rechner ist immer und kommuniziert immer mit dem Netzwerk. Ohne Probleme.

Wie kann ich das wohl analysiere bzw. dem Problem auf die Spur kommen?

13.07.2006 - 11:49 Uhr

Aber wiederspricht sich das denn nicht?

Müsste dann nicht ein Datenstrom entweder nicht ankommen (da Kommunikation nicht verfügbar), oder korrekt ankommen (da TCP die korrekte Übertragung übernimmt)?

Wenn ich aber nun selbst im lokal loop so viele Fehler wie beschrieben bekomme, dann müsste ich ja 20-30 mal ein größeres File neu transferieren bis es endlich einmal korrekt und vollständig ankommt.

Wie löse ich das? (File evtl. in Stücken senden und am Client die Stücke wieder zusammenbauen?)

Gruß
Torsten

13.07.2006 - 08:49 Uhr

Das heißt aber auch, dass die Daten u.U. auch doch nicht richtig ankommen könnten, wenn ich den Datenstrom erst wieder per CRC testen muss?

Ich habe das Beispiel aus diesem Forum (http://www.mycsharp.de/wbb2/thread.php?threadid=19670&hilight=sockets)
getestet und das Versenden des "großen" Paketes (etwa 2MB groß) klappt höchstens alle 10 mal und dies auf dem gleichen Rechner (127.0.0.1). Danach ist dann sogar das Sample hängengeblieben und muss per taskmanager abgeschossen werden. Kleine Texte scheinen immer anzukommen.

Woran kann dies liegen?

Grüsse
Torsten

12.07.2006 - 15:01 Uhr

Hallo,

ich möchte Dateien beliebiger Größe per TCP/IP sockets übertragen.
Wie kann ich sicherstellen, dass die Daten beim senden auch wirklich komplett ankommen?

Bei den bisherigen Samples ist es mr immer wieder passiert, dass bei größeren Datenmengen, nicht alles auf der gegenseite ankommt.

ich habe mir ein Sample angesehen, welches ein Filesharing Tool darstellt. Jedoch wird dort anscheinen auch kein zusätzlicher Mechanismus implementiert um die Vollständigkeit zu prüfen. Müsste man ein Resend oder sonstetwas (sliding Window) implementieren, oder übernehmen das eigentlich die Socket Klassen? Wenn ja, warum bekomme ich dann die Übertragungsfehler?

Gruß
Torsten

12.07.2006 - 13:01 Uhr

hallo,

ich habe ein merkwürdiges phänomen:

wenn ich das Sample mit ip 127.0.0.1 laufen lasse und Port 10000 nehme, dann klappt das Sample nicht.

Nehme ich den Port 6667, dann läuft das Sample, obwohl beide Ports unbenutzt sind.

Woran kann das liegen?

11.07.2006 - 13:15 Uhr

Hallo,

ich habe die Komponente ausprobiert.
Das Senden der kleinen Nachricht scheint einwandfrei zu funktionieren.

Leider bekomme ich immer beim Senden der großen Message einen Übertragungsfehler. Nach dem Übertragungsfehler hängt die Komponente und läßt sich nur noch abschiessen.

Gibt es mittlerweile eine aktualisierte Version bzw. was könnte bei mir falsch laufen? (Ich probiere Client und Server direkt auf dem gleichen Rechner (per 127.0.0.1)) Von 10x funktioniert die große Nachricht 1x und 9x nicht.

Gruß
Torsten

11.07.2006 - 09:41 Uhr

hallo zusammen,

kann ich mit C# 2005 eine Anwendung erstellen, die auf jedem Client mit .NET 2.0 Framework läuft, unabhängig davon, wie die Code Sicherheitseinstellungen auf dem Client für das .NET Framework eingestellt sind?

Wenn ja, was muss ich dafür tun? (Ich bekomme nicht heraus, wie soetwas gehen kann). Nur in den Sicherheitsoptionen einzustellen, dass eine voll vertrauenswürde Anwendung erstellt werden soll, reicht anscheinend nicht aus.

mfg
Torsten

12.06.2006 - 15:24 Uhr

Hallo, der Tip mit dem Full-Thrust funktioniert. Aber kann ich keine Anwendungen erstellen, die immer Full Thrust sind?
Wie rolle ich sowas denn im großen Stil an viele Client PCs aus? Muss dann immer ein Administrator die entsprechden .NET Framework Konfigurationen einstellen?

09.06.2006 - 09:17 Uhr

Hallo zusammen,

ich habe 2 Fragen zu dem Design einer Applikation bzw. genauer gesagt zu den sinnvollen Kommunikationstechnologien:

Also, ich möchte eine Art Dokumentenarchivanwendung implementieren. Dies soll eine Client/ Server Anwendung werden, d.h. ein Server, nahezu beliebig viele Clients gleichzeitig, die auf den Server zugreifen. Die Clients sollen im ersten Schritt Fat-Clients (Windows.Forms) sein. später soll auch ein Web-Frontend implementiert werden.

Der Client soll Dateien an den Server schicken können und diese mit zusätzlichen Such-Schlagworten (z.b. Autor, Kategorie etc.) versehen können. Über diese Attribute kann der Client später wieder nach den Dokumenten recherchieren und die Dateien vom Server "herunterladen".

Jetzt gibt es 2 wichtige Prämissen:
a) Der Client darf keine Datenbank abfragen selber machen. Der Client schickt eine abstrahierte Anfrage an den Server, der Server macht dann die Datenbankabfragen und liefert das Ergebnis dem Client zurück (z.B. als XML)
b) Client und Server dürfen nur über TCP/IP miteinander kommunizieren. (Also keine gesharten Verzeichnisse oder sowas)

Meine beiden Fragen:

1.) Zur Kommunikation von Client und Server bezogen auf die Metadaten (datenbankabfrage, Kommandos) habe ich mir gadacht, dass ich dies als Webservices implementiere. Das hat den Vorteil, dass ich den Server auch irgendwann mal in Java adaptieren könnte. .NET remoting wäre auch eine Möglichkeit. Was ist hier wohl am sinnvollsten?

2.) Wie sollte man in diesem Szenario den Dateitransfer vom Client zum Server und umgekehr implementieren? (Auch über Webservices als XML Stream?)

Wie würdet ihr das konzeptionell machen?

Vielen Dank im voraus.

Torsten