Laden...

Forenbeiträge von deemax Ingesamt 65 Beiträge

24.08.2009 - 14:25 Uhr

Hallo,

danke fürt die Antwort. Ich glaube ein lock() wird sowieso als Monitor.Enter etc. umgesetzt.

18.08.2009 - 07:46 Uhr

Hallo,

also Variante 1 kann ich wohl vergessen da sie nur das Application object lockt. Also müsste Variante 2 funktionieren. Da sich statische Variablen in ASP.NET wie Application Variablen verhalten.

07.08.2009 - 11:37 Uhr

Hallo zusammen,

ich bräuchte mal Hilfe beim Locking in einer ASP.NET Funktion. Hier mein Aufbau in abgewandelter Form:

Speichern.aspx


Speichern()
{
	Starte Transaction
	{
		SpeicherBestellung()
		{
			GeneriereBestellNummer()
		}
	}
}

Das ganze läuft in einer Transaktion. Die Funktion SpeicherBestellung() ruft die Funktion GeneriereBestellNummer() auf. Eine Bestellnummer kann nur durch eine DB-Abfrage nach bestimmten Kriterien erstellt werden. Anschließend wird die Bestllnummer der Bestellung zugewiesen und die Bestellung wird gespeichert.
Nun können mehere Bestellungen gleichzeitig gespeichert werden und evtl. die gleiche Bestellnummer bekommen.
Wie muss ich das ganze in einer ASP.NET Application locken bzw. ist das so richtig?

Variante 1:


Speichern()
{
	Application.Lock();
	Starte Transaction
	{
		SpeicherBestellung()
		{
			GeneriereBestellNummer()
		}
	}
	Application.UnLock()
}

Variante 2:


private static object thisLock = new object()
Speichern()
{
	lock (thisLock)
	{
		Starte Transaction
		{
			SpeicherBestellung()
			{
				GeneriereBestellNummer()
			}
		}
	}	
}

12.07.2009 - 13:02 Uhr

Hallo,

wie haben einen Virtual Server mit Windows Server 2003 und einem IIS 6. Nun muss ich zum ersten Mal meine ASP.Net Applikation us dem IIS installieren und ihn selbst absichern. Zuvor wurde dieser Job einen einen Admin erledigt, dieser ist aber nicht mehr da. Die Applikation installieren etc. ist kein Problem aber was die Sicherheit des IIS betrifft hab ich keine Ahnung.
Könntet Ihr mir ein paar Tipps geben worauf ich achten muss?

30.06.2009 - 09:30 Uhr

Ich glaube die 1.1 Zertifizierungen wurde eingestellt. Du kanst nur noch Updates von bestehenden 1.1 Zertifizierungen z.B. MCAD auf 2.0 machen.
Um ganz sicher zu gehen würd ich mal bei einen Zertifizierungscenter nachfragen.

29.01.2009 - 15:14 Uhr

Da gibs ne Möglichkeit: WLAN-Sharing google mal danach.

Übrigens stand darüber in der c't 2/2009 "WLAN-Sharing: Wenig lukrativ und risikobehaftet" ein interessanter Artikel. Auch rechtlich den Punkt illegalen Downloads Haftung etc. solltest du bedenken.

08.01.2009 - 10:53 Uhr

Hallo GMLOD,

gerade wollte ich auf deine Vorgänger antworten als deine Lösung kam. Sie hat super funktioniert nur noch ein Komma vor dem Subselect und ein In() als Kriterium und das wars. Danke!

08.01.2009 - 09:58 Uhr

Moin moin,

ich hab folgendes SQL Problem und komm nicht weiter: Ich schraube an einen SQL-Befehl der mir anhand einer Liste von Guids nur die Datensätze mit der höchsten HistoryId liefert.

Ich habe eine Liste von Guids z.B. a und c.
Als Ergebnis erwarte ich dann:
2 a 2 4 c 3

id	guid	history_id
1	a	1
2	a	2
3	b	1
4	c	3
5	c	1
6	d	1
7	e	1
8	e	2

Ich hab schon etliche Kombinationen mit Gruppierungen und einen Selfjoin ausprobiert, bekomme aber nie nur den höchsten Datensatz bei mehreren Einträgen. Hört sich ja eigentlich einfach an aber ich kriegs nicht hin. Kann mir einer einen Denkanstoß geben?

verwendetes Datenbanksystem: MySql
id = Autowert

19.11.2008 - 12:11 Uhr

Wir nutzen hauptsächlich den Enterprise Architect http://www.sparxsystems.de/ der deckt den ganzen Entwicklungsprocess ab. Vergleiche zu anderer Software fehlen mir aber.

08.09.2008 - 16:29 Uhr

Guck mal in deinem Setup-Projekt unter Launch-Conditions welche Version gewählt ist. Bei VS 2008 Projekten standardmäßig die 3.5. Einfach umstellen und schon fragt er nicht mehr nach 3.5.

01.09.2008 - 15:48 Uhr

@frisch: Ne, die Links bleiben beim Erstellen des PDFs mit dem PDF-Konverter nicht enthalten. Ist beim PDF bei meinem Fall auch nicht nötig. Im Programm ist ja eh die CHM eingebunden in der natürlich alle Verlinkungen enthalten sind.

07.08.2008 - 09:30 Uhr

Hallo Christel,

das du schon mit einer Custom Action arbeitest hab ich völlig überlesen. Sorry.

Der Vollständigkeit halber beschreib ich mal meine Alternativlösung falls einer ein ähnliches Problem haben sollte. Habe gerade noch mal nachgeschaut.

Neue DLL in meinem Project erstellt mit einer Klasse die von der Installer Class erbt. Anschließend Install() und Uninstall() Methoden überschreiben.

  • In Install() alle Kopierfunktion, entpacken etc. geschrieben etc.
  • In UnInstall() alle nötige für die Deinstallation
    DLL als Custom Action im Setup hinzugefügt, optional können noch Parameter übergeben werden.

Vorteile:

  • Custom Action wird mit den Rechten des Setups ausgeführt
  • bei der Deinstallation können entsprechende Aktionen ausgeführt werden
06.08.2008 - 11:38 Uhr

Erstelle eine Custom Action im Setup.

Hatte mal ein ähnliches Problem.
Setup: zusätzliche Verzeichnisse einbinden

05.08.2008 - 09:17 Uhr

Ich hab Cygwin drauf, damit stehen mir fast alle Linux befehle auf Win zur Verfügung.

http://www.cygwin.com/

28.07.2008 - 15:08 Uhr

Oder nimm eine Stored Procedure mit 1 - x Delete-Anweisungen und z.B. der UserId als Parameter.

25.07.2008 - 09:05 Uhr

Dazu muss du beim Erstellen deiner Tabelle mit SQL einen Fremdschlüssel-Constraint z.B. mit ON DELETE CASCADE anlegen. Weiß den Syntax jetzt nicht aus dem Kopf aber google mal ein bisschen nach Foreign Key and cascade.

24.07.2008 - 12:39 Uhr

Benutze mal StartInfo um die Parameter zu setzen. Vielleicht leigts daran. Hier mal ein Beispiel:


                Process p = new Process();
                p.StartInfo.ErrorDialog = true;
                p.StartInfo.CreateNoWindow = true;
                p.StartInfo.UseShellExecute = true;
                /*p.StartInfo.RedirectStandardOutput = true;
                p.StartInfo.RedirectStandardError = true;
                p.StartInfo.RedirectStandardInput = true; */
                string startPath = GlobalData.getInstance().ApplicationPath;
                parameters = string.Format(parameters, GlobalData.getInstance().ApplicationPath);
                p.StartInfo.FileName =  startPath + "\\" +Properties.Settings.Default.JavaDirectory + "\\bin\\javaw";
                p.StartInfo.Arguments = parameters;
                p.Start();

23.07.2008 - 13:40 Uhr

Habe dazu keine Erfahrungen hab aber diesen Link gefunden. Evtl. kennst du ihn noch nicht:
http://www.must.edu.my/~dwong/resources/mobile_commerce_web/j2mevsnetcf.html

23.07.2008 - 13:34 Uhr

Also von NHibernate ist LGPL und Log4NET Apache License. Da hast du keine Probleme. Bei den Rest solltest du einfach mal auf deren Seiten anschauen.

Das sollte dir helfen:

http://de.wikipedia.org/wiki/LGPL
http://de.wikipedia.org/wiki/Apache-Lizenz

17.07.2008 - 13:08 Uhr

Nur leider kommt immer die Meldung: Login failed for user'?'.

Sieht so aus als würde ein ? für den Usernamen übergeben. Musst die Werte für deine Parameter setzen bzw. was sollen die mehrfachen "??????" bedeuten?

17.07.2008 - 13:05 Uhr

Also kommt grauf an was du genau machen möchtest.
Du weißt den Rollen Berechtigungen zu und dann Usern zu verschiedenen Rollen. Angenommen du möchstet einem User mehr Berechtigungen geben als einem anderen dann müsstest du die Rolle ändern. Wenn sie anderen Usern zugewiesen ist, erhalten sie ebenfalls die neue Berechtigung.
Ich würde dem User Berechtigungen zuweisen. Aber das hängt von deinen Anforderungen ab, dazu hast du ja nix geschreiben.
Wenn du deine Berechtigungen nur über Rollen vergeben möchstet sieht dein Design gut aus.

09.07.2008 - 11:18 Uhr

Moin,

also ich schreib ein Handbuch meistens mit Word und nutze dann den PDF-Konverter. Für chm eichfach dieses Tool: http://www.macrobject.com/ Funktioniert sehr gut und ist in wenigen Minuten erledigt.

01.07.2008 - 10:10 Uhr

Hallo,

wurde zwar schon genannt ist meiner Meinung aber ideal für dich: http://www.sqlite.org/ Treiber und DB kannt du prima in deinem Projekt einbetten ohne zusätzliche Installationen. Brauchst auch nicht sicherstellen das z. B. die benötigte JET Engine installiert ist.
Dank einiger grafischer DB-Tools kannst du relativ einfach damit arbeiten und z.B. via SqliteODBC Daten übertragen.

13.03.2008 - 15:40 Uhr

Also es ist möglich einzelne Verzeichnisse mit vielen Dateien anzulegen. Ich habe ein Verzeichniss (Java SDK) das aus zig Unterverzeichnissen und Dateien besteht. Dieses müsste ich jetzt von Hand nachbilden.

Idealer wäre es, wenn ich einfach nur 1 Verzeichnis definieren müssten und dies wird mit allen Unterverzeichissen einfach mitkopiert.

Dies ist aber leider nicht möglich, korrigiert mich bitte falls ich falsch liege.

12.03.2008 - 15:22 Uhr

Ne, ich hab mich wohl nicht richtig ausgedrückt. Ich möche ein bestehendes Verzeichnis (mit vielen Unterverz. und Dateien) beim Installieren mit den den Anwendungsordner kopieren.

12.03.2008 - 10:25 Uhr

Moin zusammen,

ich erstelle für meine NET 2.0 Windowsanwendung gerade ein Setup mit VS 2008. Nun möchte ich aber zusätzliche Verzeichnisse einbinden. VS bietet mit aber nur zusätzliche Dateien an.
Geht das irgendwie oder muss ich das über eine Custom Action selber kopieren?

07.02.2008 - 19:26 Uhr

Hallo zusammen,

ich entwickele gerade eine CF 2 Applikation die auf einem WM5 HTC Ameo laufen soll. Dieser hat eine Auflösung von 480 x 640. In meiner Entwichlungsumgebung VS 2008 haben ich entsprechend den FormFaktor angepasst. Die Designansicht und das tatsächliche Programm im Emulator stimmen überein.
Sobald ich aber der Programm auf dem Ameo installiere, habe ich nicht mehr Platz zu Verfügung wie bei einem mit 240 x 320 Auflösung. Zum Vergleich habe ich Excel auf einem PDA mit 240 * 320 und dem Ameo mit 480 x 640 ausgeführt. Der sichtbare Bereich ist exakt der selbe nur die Steuerelemente bei der hoher Auflösung(Ameo) sind größer und schöner dargestellt.

Im Projekt ist AutoScaleMode auf None gestellt. Aber auch versch. Einstellungen bringen nichts.

Hat einer eine Idee warum eine "echte" Auflösung von 480 x 640 nicht ausgenutzt wird?

07.05.2007 - 20:10 Uhr

Hallo,

nein ich hab noch gar nicht angefangen. Wollte noch auf eine Antwort warten. Du versuchst sie ja direkt zu überschreiben, das funks nicht.

Eine Exe-Datei kann sich selbst überschreiben, nur die Exe vorher umbenennen. Auch kann sie sich selbst anhalten und neu starten (nun die neue Version).

Nur wie ich das technisch machen kann, noch keine Ahung 🙁

07.05.2007 - 14:16 Uhr

Hallo Bernd,

ich bin jetzt gerade dabei den Updater zu programmieren. Kann ich auch die dlls zur Exe mitüberschreiben (sind ja eigentlich mit der Exe geladen)?
Wenn ja, kannst du mir einige Tipps geben wie ich das machen kann bzw. die Funktionen nachlesen kann?

02.05.2007 - 13:20 Uhr

Hallo,

beim Start meiner Winapplikation soll die Exe in einem bestimmten Updateverzeichnis nachschauen ob eine neuere Exe + weitere Programmdateien vorhanden sind. Wenn ja, dann sollen alle Dateien in das Ausführungsverzeichnis kopiert und das Programm soll gestartet werden.
Ich habe an eine zusätzliche Exe-Datei gedacht, die einfach falls neue Dateien vorhanden sind, aufgerufen wird und kopiert. Anschließend wird wieder das Programm gestartet.

Wie kann ich das realisieren oder gibs einfache Möglichkeiten?

01.04.2007 - 14:13 Uhr

Ich hatte das Problem in einer ähnlichen Art auch schon. Eigentlich ist das ein Designproblem der DB, wenn man kein Null-Werte (not null) erlaubt, kann das auch nicht passieren.
Ich bin damals die Tabelle durchgegangen und hab die Null-Werte durch leer Strings ersetzt. Bei einem Datentyp ist das noch leicht 😉

01.04.2007 - 14:04 Uhr

Hallo zusammen,

ich brach mal eine Idee von euch wie ich es am elegantesten und sauber lösen kann.

Ich habe eine Windowsapplikation (1.1) erstellt die mit einer MySql-DB zusammenarbeitet. Mein Programm kann von mehreren Usern gleichzeitig benutzt werden. Im Programm gibt es eine Maske in der Kunden gelistet werden. Diese Kunden werden einfach aus einer Tabelle ausgelesen. Wenn jemand die Maske aufruft, werden komplexe Datenbankabfragen (aus dem Client) gestartet, um die Tabelle mit neuen Kundendaten zu füllen. Der Füllprozess kann, je nach Datenmenge, einige Zeit dauern. Während dieses Prozesses darf kein anderer Client einen neuen starten.
Wie kann ich das Verhindern? Eventuelle Programmabstürz etc. gilt es zu beachten.

19.03.2007 - 17:00 Uhr

Hallo,

ich möchte gerne meine Logdatei in das Anwendungsdatenverzeichnis der User schreiben. Dazu lese ich das Verz. mit Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); aus. Nun stehe ich aber vor dem Problem in meiner log4net Konfigdatei den Pfad anzugeben.
Über eine Enviroment Variable wollte ich es nicht machen, da das Programm aus unterschiedlichen Windowsversionen laufen soll.

Wie kann ich zur Laufeit den Pfad setzen?

<file value="???/ctc.log" />

11.01.2007 - 16:24 Uhr

Hallo,

das hängt von der Suche nach welchen Kriterien ab. Hier steht gut beschreiben wie z.B. MySql mit Indexen arbeitet.

http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html

11.01.2007 - 12:18 Uhr

Hallo,

ich bin gerade dabei den MCSD .NET zu machen. Den 316 Kurs habe ich bestanden und wollte jetzt eigentlich den 315 (Webapplikationen) machen. Allerdings bräuchte ich für meine Arbeit viel mehr den 320 (Serverkomponenten und XML Webdienste).
Laut Buch vom 320 sind Webapplikationen keine Vorraussetzung. Also könnte ich den vorziehen oder baut viel vom 320 auf den Web. auf? Mit Webapplikationen habe ich Erfahrung allerdings nur mit ASP 3 und PHP.

Wie sind eure Erfahrungen damit?

05.09.2005 - 14:31 Uhr

Ja, das Problem ist nur das nicht nach der Reihe ausgewählt wird sondern immer nur einzelne verstreut in der Tabelle.

Und per onclick markieren wäre das bequemste für den User.

03.09.2005 - 11:30 Uhr

Hi,

danke an euch. Damit kann ich schon was anfangen. Hat einer auch zufällig eine Idee wie ich mehere Zeile auswählen kann (per onclick) ohne das ich die Strg-Taste gedrückt halten muss?

02.09.2005 - 10:09 Uhr

Hallo,

in einem DataGrid kann man wenn man die Strg-Tase hält mehere Zeilen auswählen. Doch wie bekomme ich eine Liste der ausgewählten Zeilen?

23.06.2005 - 14:29 Uhr

Hi,

ich habe noch ein anderes Problem. Wenn ich verhindern möchte das Daten gelöscht werden, mache ich das über ds.Tables["Kunden"].DefaultView.AllowDelete = false;

Das funktioniert auch solange ich das DataGrid per DataSource-Eigenschaft binde. Per SetDataBinding wird es ignoriert. Die SetDataBinding-Eigenschaft benötige ich aber damit die Frendschlüssel übernommen werden.

Hat einer eine Lösung?

18.06.2005 - 11:46 Uhr

Ja, ich hatte den Dataadapter für das Update der Bestellungen auskommentiert 🙁 Dummer Fehler!

17.06.2005 - 16:17 Uhr

Hab mich leider vertan. Funktioniert doch nicht. Manchmal übernimmt er die Id, manchmal nicht und Bestellungen speichert er gar nicht.

Hast du zufällig ein kleines Beispiel von dir oder im Netz parat? Hab nichts gefunden.

17.06.2005 - 15:23 Uhr

Danke, hat super funktioniert!

17.06.2005 - 13:39 Uhr

Hi FZelle,

also Methode 2 funktioniert ganz gut außer es gibt gleichzeitige Zugriffe. Dann werden die Bestellungen unter einen falschen KundenId gespeichert weil das DataSet von dem neuen Kunden noch nichts weiß.

Zu Methode 1 hätte ich ein paar Fragen. Wie soll ich da vorgehen? Per OnRowUpdated-Event kann ich die neue ID auslesen doch wann soll ich sofort speichern und wie weise ich den neuen Bestellungen den Wert zu?

Der User wird wie folgt vorgehen: DataGrid mit Kundendaten und Bestellungen über die Relation verknüpft. Z.B. 1- x neue Kunden werden angelegt und dessen Bestellungen.

16.06.2005 - 16:04 Uhr

Hallo,

ich haben 2 Tabellen (Kunde - Bestellungen 1-n über Autowert in Access-DB) die über eine Relation im DataGrid (Winform) dargestellt werden. Füge ich nun im Datagrid einen neuen Kunden ein und klicke auf die Bestellungen ist noch kein Autowert für den Kunden vergeben und folglich auch nicht für die Bestellungen.
Wie läßt sich das lösen?

09.06.2005 - 16:25 Uhr

Hallo,

wenn ich in einem DataGrid eine Relation angegeben habe taucht immer das plus-minus Icon auf. Ihc würde gerne ein Event beim Click auf das Icon ausführen.
Wie geht das?

06.06.2005 - 16:25 Uhr

Hallo,

ich habe eine Access-DB die über eine MDW-Datei verschlüsselt ist. Wie kann ich nun mit dem Assistenten eine Verbindung im VS 2003 herstellen?

18.04.2005 - 12:43 Uhr

Ja, das weiß ich nur wie?

Ich binde es wie hier im Beispiel an:
DataBindings und Steuerelementeigenschaft???

Nur dazwischen muß eine Art Mapping, kann mir einer einen Ansatz liefern?

18.04.2005 - 10:05 Uhr

Hallo,

ich möchte eine Checkbox an mein DataTable binden. Die zu bindende Spalte enthält aber keine boolschen Werte sondern versch. Integers. Bei 1,2,3 soll die Checkbox auf checked gesetzt werden. Wie kann ich das machen?