
Argbeil
Mitglieder-
Gesamte Inhalte
433 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Argbeil
-
Jepp, weil du 2 verschiedene Sachen machst. Die Referenz auf dein Excel bietet dir quasi ein "In-Memory-Excel", also den Zugriff auf das Excel Objektmodell, da schreibst du mit deiner Anweisung auch rein, der User sieht aber kein Excel auf dem Bildschirm. Mit Process.Start() startest du jetzt Excel. Du hast dann also einmal Excel gestartet und einmal den Zugriff aufs Excel Objektmodell. Das eine hat aber nichts mit dem anderen zu tun, das sind 2 verschiedene Prozesse. Wenn du das Excel Sheet nicht sehen musst, füll weiter wie gehabt, und speicher das das Sheet danach einfach ab ( ich glaube .Save(...) ). Wenn du das fertige Sheet sehen willst kannst du Process.Start machen und das gespeicherte Excel-Sheet als Parameter übergeben. Je nachdem was du vorhast, guck dir mal die Visual Studio Tools for Office an, VSTO.
-
Gerne. Gute Idee, das ist genau die Architektur wie sie idealerweise aussehen sollte. Wenn du für dein Remotable-Objekt ein Interface erstellst kannst du das gleiche Interface später für den Webservice verwenden und die WebService-Request einfach an das Remote-Objekt weiterleiten ( Da spricht man dann von einer WebService-Fassade ). Wenn die beiden Komponenten auf der gleichen Maschine laufen kannst du auch zusätzlich zu TCP/IP über Shared-Memory anstelle von TCP/IP kommunizieren, das geht dann noch schneller.
-
1. Was meinst du damit? Um sie zu konsumieren - Natürlich, um sie zu hosten - nein. 2. Die Host-Anwendung (ja, natürlich) oder die konsumierende (ja, über die Konfiguration) 3. Die Lösung mit Webservice und Remoting ist natürlich langsamer weil der komplette Webservice verkehr nochmal Base64 kodiert werden muss und Overhead in der Datenübertragung erzeugt. Die Frage ist, ob du einen Webservice brauchst. Habt ihr Kunden die den Service nutzen? Soll der über das Internet verfügbar sein? Wenn beides mit nein beantwortet wird ist die Remoting-Lösung besser. Als Webservice sollte man keine permanent laufende Applikationen realisieren, das ist eher ein Windows-Service. Mit dem kann man z.B. über Remoting kommunizieren.
-
Ich kenn die Randomize Methode nicht aus dem Kopf, aber es muss z.B. nameDesButtons.Top = Randomize() nameDesButtons.Left = Randomize() lauten wobei das Ergebnis von Randomize nicht kleiner 0 und nicht größer (this.Width - button.Width) sein solte, bzw. nicht größer (this.Height - Button.Height), sonst kann man ihn nicht mehr sehen. Noch besser, du castest den sender Parameter zu einem Control-Objekt und rufst darauf die Random Funktion auf, dann kannste die Methode für alle Komponenten verwenden. Das viele 'Zeug' hinter dem Methodennamen lautet übrigens 'Parameter'. Und das dahinter ist die Eventbindung. Neumodisches Zeug....
-
1. Meinst du das Hosten eines Webservices oder das konsumieren? Zum hosten brauchst nicht zwingend einen IIS, ich würde es aber sehr empfehlen. Wenn du dir z.B. mal den Cassini-Webserver runterlädst (ein Open-Source Webserver in C# geschrieben) siehst du das es relativ einfach ist WebAnwendungen zu hosten. 2. Was meinst du mit Statefull Projekt, einen Statefull Webservice? Eine Instanz des Services erstellst du sowieso nicht, das sieht nur so aus. VS erstellt ein Proxy Objekt das die gleiche Schnittstelle bietet wie der Webservice selbst und das mit new Instanziiert wird, beim Aufruf werden aber tatsächlich nur Soap-Requests zum Service erzeugt. Dein Session-Handling kannst du auch selber implementieren indem zu z.b. eine Logon Mehtode schreibst die eine GUID zurückliefert. Wenn ich mir deine Beschreibung so durchlese solltest du allerdings nochmal prüfen ob ein WS das richtige für dich ist. Deine Applikationen können natürlich auch mit einer Stored-Procedure reden, da würde die komplette WS Schicht wegfallen können. Im SQL Server 2005 kannst du auch .NET Assemblys als Stored-Procedure verwenden. 3. Das ist zu unpräzise, worum geht es? Um 3 Webservices? Die Lifetime kannst du über die Webconfig/machine.config steuern, dabei solltest du aber genau wissen was du tust. Der Service wird "heruntergefahren" wenn keine Session mehr aktiv ist (plus 20 Minuten glaube ich). Du kannst auch asynchrone Requests erstellen, so das du in der Zwischenzeit andere Dinge erledigen kannst. Generell ist das 20 Minuten Session Limit schon recht sinnvoll. Evtl. ist für dich aber wirklich ein Webservice nicht geeignet, was spricht z.B. gegen Remoting oder WCF ?
-
Ich hab die Frage 2 mal gelesen, aber nicht verstanden.
-
Guter Hinweis, danke. Allerdings hätte mich auch nicht gewundert wenn es nicht funktioniert hätte, einen Webservice ruft man ja üblicherweise mit einem Soap-Request auf.
-
Hi, also folgende Sachen sind mir auf Anhieb aufgefallen: 1. Du machst ein Fill auf ein Dataset und auf ein DataTable, das Dataset kannst du weglassen, du hast die Daten doch bereits geladen. 2. Das Update wird auch wenn die Struktur in Access vorhanden ist nicht funktionieren, der RowState der DataRows in der geladenen Tabelle ist unchanged und daher wird die Row ignoriert. 3. Um die korrekten Datentyp-Bezeichnungen für die Datenbank zu bekommen gibt es für den SQL Server eine Klasse SqlDbType. Ob so etwas für Access existiert weiß ich nicht, wenn nicht müsstest du die selber schreiben. 4. Das mit dem Create ist etwas zu einfach, wenn du die komplette Struktur anlegen willst hast du viel zu tun. Du könntest die Struktur der DataTable analysieren (durch die Coloum Collection laufen), musst aber auch die Einschränkungen der Datenbank kopieren. Wenn die Quelle z.B. varchar(5) war, enthält das Dataset nach dem Fill trotzdem nur einen string-Datentyp, du kannst das Dataset also vergessen um die Tabellenstruktur zu kopieren. Im Prinzip musst du rausfinden wie du bei Oracle die Tabellendefintionen per SQL abrufen kannst. Das Ergebnis muss du auswerten und daraus ein Create-Statement für Access generieren, dabei aber die Datentypen anpassen und Einschränkungen wie PrimaryKeys usw. berücksichtigen. :old Ich würde glatt sagen der Ansatz, hierfür ein Programm zu schreiben ist falsch. Oracle enthält auch ein ETL-Tool mit dem du die Daten bestimmt automatisch in die Access-DB pumpen kannst. Die Frage ist auch: Wozu willst du das überhaupt machen? Wenn du nur die Daten abgreifen und speichern willst kannst du doch auch die WriteXml Methode des Dataset verwenden.
-
Du kannst generell alle Einstellungen der machine.config in der web.config überschreiben.
-
Hi, was kommt denn an wenn du ...func?search="wörs" aufrufst?
-
Hi, sorry - aber das ist nicht richtig, oder zumindet fürchterlich unpräzise. Das Kürzel .NET bei den Sprachen deutet nicht unbedingt auf eine Unterstützung von .NET, sondern darauf hin das die jeweiligen Compiler CLI-Code kompilieren anstelle von nativem Code der dann wiederrum von der .NET Runtime ausgeführt werden kann - und deshalb auch Fremdassemblys wie z.B. die des .NET Frameworks nutzbar macht. Wenn du das als .NET Unterstützung bezeichnest können wir uns einigen. VB.NET wurde zwar nicht zusammen mit dem .NET Framework und C# entwickelt, aber danach. Da sie technisch nicht auf Visual Basic basiert ist VB.NET also durchaus eine komplette Neuentwicklung (ja - C# auch, aber die Aussage das C# eine Aussage bildet ist falsch). VB.NET 8.0 ist übrigens die einzige verfügbare Sprache die alle Features der IL-Definition unterstüzt. Ebenfalls nicht korrekt ist, das C# "am besten unterstützt" wird. C# wird weder von Visual Studio, von uns (Microsoft) oder vom .NET Framework besser unterstützt als z.B. C# oder IronPython, wir sehen VB.NET nicht zuletzt durch die Integration in die Microsoft Reporting Services als absolut gleichwertig an. In Visual Studio gibt es einige Features in denen VB.NET sogar besser unterstützt wird als C#. Die "guten, alten Zeiger" in C sollten übrigens in C# bitte-bitte NIEMALS-NIE verwendet werden - weswegen ich sie auch nicht als fortgeschrittene sondern eher als rückschritliche Programmierung bezeichnen würde. Die "guten alten Zeiger" sind für ca. 99% aller Buffer-Overflow Security-Leaks in modernen Applikationen verantwortlich und lediglich für COM oder DCOM Komponenten noch enthalten. Du wirst von uns keine Zertifizierung für eine .NET Applikation bekommen die einen Pointer verwendet weil hierdurch das .NET Security-System komplett ausgehebelt wird. Ansonsten können wir auch gerne günstige "Inside-.NET" Trainings direkt vor Ort anbieten bei der wir den IL-Support der einzelnen Sprachen vergleichen, bei Interesse einfach kurze private Message an mich.
-
Hi, ich würde die Ableitung nicht als Workaround betrachten, das ist die sauberste Lösung. Die global.asax kannst du ja eher als Infrastrukturkomponente betrachten, so etwas für WinForms Anwendungen zu bauen wäre ziemlich schmutzig (obwohl es natürlich auch geht).
-
Tach, es gibt keine dotnet-Keywords, was du aufgeschrieben sind C# Schlüsselwörter. Wenn du bei google C# Schlüsselwörter eintippst findest du die komplette Liste. Was haste damit eigentlich vor?
-
Genau für sowas ist ASP.NET und ADO.NET gemacht. Ich würde einen MS SQL Server nehmen, z.B. den kostenlosen SQL Server Express. Hosting Angebote inkl. SQL Server gibt es günstig bei Domainbox. Als Einführung sind vielleicht die Codeclips von meinem Freund Ruprecht Dröge geeignet: SQL für Einsteiger & Profis: Antworten von MSDN Solve
-
Hi, die Socket Klasse unterstützt beliebig viele Clients auf einem Port. Normalerweise programmiert man ja ein Request-Response Modell, wenn es wichtig ist musst du also in jedem Request so etwas wie eine Client ID mitsenden, dann ist das kein Problem.
-
Hi, du kannst prinzipiell alles damit programmieren, mit Ausnahme von Hardwarenahen Sachen wie Treibern. VB.NET ist nicht mit C++ aber mit C# vergleichbar. Es gibt einige Features die VB.NET bietet die C# nicht hat, umgekehrt genauso. Ich würde die Sprachen als völlig Gleichwertig bezeichnen. Visual Basic 6 war gar nicht so schlecht wie man es immer redet, VB.NET ist aber auf jeden Fall eine komplette Neu-Entwicklung und erzeugt prinzipiell genau den selben IL-Code wie z.B. C#. Theoretisch kannst du .NET Programme auf Non-Windows Systemen laufen lassen, wenn Plattform-Unabhängigkeit aber wirklich ein Faktor für dich ist würde ich keine .NET Sprache verwenden sondern eher Java. Auf jeden Fall schnell genug, für noch mehr Performance musst du C nehmen. Anwendungsbereiche sind alle denkbaren Windows Applikationen, Webserver Applikationen (dynamische Webseiten mit ASPX, Webservices), Windows-Dienste etc. Wie gesagt: Alles außer sehr hardwarenahem Programmen wie Treiber oder Hardwaresteuerung. Wettbewerbsfähigkeit...hm, der Marktanteil ist geringer als bei C#, allerdings ist vb.net eine der drei aktuellen Sprachen von Microsoft für die Windowsplattform, die wird bestimmt nicht in den nächsten 5 Jahren verschwinden.
-
Hi, erstell einfach ein neues Setup-Projekt in Visual Studio, der prüft vor der Installation auf ein vorhandenes dotnet-Framework. Wenn dir das nicht ausreicht würde ich Wise oder Installshield kaufen, da sollte man nicht am falschen Ende sparen (zumindest wenn deine Software kommerzieller Natur ist)
-
Da gibts viele Möglichkeiten. Ich würde eine Facade-Klasse schreiben bei der die Context-Infos nicht mit übergeben werden, die aber intern die Methoden der ursprünglichen Klasse aufruft. Das ganze dann in einen anderen Namespace packen, dann musst du bei der Implementierung nur noch using MegaDing.Web; bzw. using MegaDing.Forms; verwenden. Noch schöner geht das allerdings mit aspektorientierter Programmierung, damit kannst du alle statischen Methoden automatisch mit bestimmten Parametern versorgen lassen, siehe hier: Aspektorientierte Programmierung für das Logging nutzen | dotnetpro | Das Profi-Magazin für Entwickler
-
Hi, ich weiß jetzt nicht was man mit der global.asax Filtern kann. Für das konkrete Problem mit dem Button würde ich eine neue Klasse erstellen, SpecialButton die von System.Windows.Forms.Button erbt. In der Klasse reagierst du entsprechend auf das Click-Event und reichst es danach einfach weiter durch. Auf dem Form verwendest du dann nicht den Button sondern den Special Button.
-
Ja, du kannst auch Visual Basic 6 nehmen, Delphi, C++. Im Prinzip fast alles was einen Compiler und einen Linker hat, da kannst du (fast) immer die nötigen Bibliotheken und Runtimes zu der EXE dazu linken. Gruß, Manu
-
Hi, nein, die Software kommuniziert ja mit der Telefonanlage bzw. dem Switch. Bei Siemens hätte ich helfen können. Gruß, Manu
-
Hi, es gab für .NET 1.0/1.1 mal ein Tool das alle nötigen Dateien in die .NET EXE gelinkt hat, damit würde das gehen, sowas gibts für Java auch. Leider ist mir der Name entfallen. Allerdings gibts dann natürlich keinen Support mehr von MS. Prinzipiell hast du die falsche Sprache gewählt wenn du das Framework nicht installieren willst. Gruß, Manu
-
Jo, über das Transaction-Log. Du brauchst aber ein 3rd Party Tool um das im Klartext lesen zu können. Gruß, Manu
-
Hi, für welche Hardware denn? Wie viel wollt ihr ausgeben?
-
Hi, das mit dem Backup kommt drauf an ob die User ihre Daten lokal oder auf einem Fileserver speichern, ebenso darauf wie automatisiert die Installation ist. Im optimalfall brauchst du gar keine Backups. Normalerweise kann man Virenscanner so konfigurieren das sie z.B. immer in der Mittagspause einen Full-Scann machen. Aber wenn alle Server und Netzwerkkomponenten Virenscanner haben würde ich auch sagen 1 mal die Woche reicht, evtl. am Wochenende (Rechner automatisch booten, scannen und wieder runterfahren).