Laden...
D
Benutzerbeschreibung

Forenbeiträge von Dolce Ingesamt 206 Beiträge

05.12.2023 - 14:08 Uhr

Hallo Comunity

Ich habe ein Problem mit dem Starten einer installierten Maui Blazor App (TargetFrameworks: net7.0-windows10.0.19041.0) auf einer Windows 11 Umgebung.
Dieselbe App wurde bereits auf eine Windows 10 Umgebung ausgeliefert und funktioniert einwandfrei.

Folgender Fehler wird mir im Eventviewer geworfen:
Name der fehlerhaften Anwendung: App.UI.exe, Version: 1.0.0.0, Zeitstempel: 0x641de100
Name des fehlerhaften Moduls: Microsoft.ui.xaml.dll, Version: 3.0.0.2303, Zeitstempel: 0x6c39c3fc
Ausnahmecode: 0xc000027b
Fehleroffset: 0x00000000007cd8bc
ID des fehlerhaften Prozesses: 0x0x36FC
Startzeit der fehlerhaften Anwendung: 0x0x1DA2772FF15253E
Pfad der fehlerhaften Anwendung: C:\Program Files\WindowsApps\00000000-0000-0000-0000-000000000000_1.0.43.0_x64__9whhhhhpecwpc\App.UI.exe
Pfad des fehlerhaften Moduls: C:\Program Files\WindowsApps\Microsoft.WindowsAppRuntime.1.2_2000.802.31.0_x64__8wekhhhhhbbwe\Microsoft.ui.xaml.dll
Berichtskennung: 63da460c-17d5-47f8-8994-46f17a616413
Vollständiger Name des fehlerhaften Pakets: 00000000-0000-0000-0000-000000000000_1.0.43.0_x64__9whhhhhpecwpc
Anwendungs-ID, die relativ zum fehlerhaften Paket ist: App

Nachfolgende Tools habe ich nachinstalliert, um ggf. den Fehler wegzubekommen:
- dotnet-hosting-7.0.11-win.exe
- dotnet-sdk-7.0.404-win-x64.exe
- windowsappruntimeinstall-x64.exe
- windowsdesktop-runtime-7.0.10-win-x64.exe
- microsoft.ui.xaml.2.8.6.nupkg
- MicrosoftEdgeWebview2Setup.exe kann nicht nachinstalliert werden, da dies bereits ein Teil von Windows 11 ist.
- Installierte Microsoft Edge WebView2-Laufzeit Version: 119.0.2151.97
- RegEdit Eintrag unter Windows 10 ersichtlich unter Windows 11 nicht. EdgeUpdate Ordener nicht vorhanden
Erwähnter RegEdit Eintrag: "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}"

Bereits installiert ist Microsoft Visual C++ 2015-2022 Redistributable (x64)

Die Maui Blazor App wird über das VisualStudio 2022 veröffentlicht und als Quer-geladenes MSIX Paket (Release /x64) bereitgestellt.
Auch wenn ich die App nicht als MSIX verpacke und an die entsprechende Stelle auf der Zielumgebung hinkopiere, erhalte ich beim Starten der Applikations.exe die selbe Fehlermeldung wie über die gestartete MSIX installierte Installation.

An der Einstellung von Sprache & Regionen kann es auch nicht liegen, dies stimmt so weit überein.

Hat noch, wer eine Idee, was ich noch versuchen oder ggf. vergessen haben könnte?

Beste Grüsse
Dolce

18.09.2023 - 08:11 Uhr

Hallo Abt

Nicht dass ich etwas gegen konstruktive Kritik einzuwenden hätte, nur bei einem Beispielprojekt will ich keinen Blumentopf mit der Architektur gewinnen.
Trotzdem vielen Dank das Du Dich auf das Abenteuer eingelassen hast.

Zum Connection String:
Mit dem ganzen gepuzzle, konnte ich den Connection String auslesen und somit war dies kein Leerstring in der Registrierungsklasse. War er denn bei Dir immer leer? Hast Du es für Dich fixen und woanders lauffähig installieren können?

Direkt auf Maui zugreifen:
Da es mein erstes Maui Projekt ist, ist der Weg auch für mich noch etwas holprig. Aber die Migration nach Rest wird nicht schwer sein, es wird eine reine Fleißarbeit werden.
Und da ich noch nicht allzu viel aus der DB konsumiere, wird sich auch hier der Aufwand in überschaubaren Grenzen halten.

Reine Verständnisfrage:
Wenn ich eine Maui Blazor App erstelle, diese in eine msix Datei packe und dann woanders (Windows) installiere, handelt es sich dann dabei um eine Desktopapp?

Cheers

13.09.2023 - 12:42 Uhr

In der Config ist kein Typo enthalten und den SQL-Server kann ich auch nicht ohne weiteres neu aufsetzen, da dieser noch von einem anderen Tool verwendet wird. Ggf. werde ich aber eine eigene Instanz installieren und meine Versuche noch einmal ausführen & mir das mit dem Config-File merken/umsetzen.

Ich habe ein kleines Projekt erstellt, welches meinen Umstand verdeutlicht. Bei Interesse könnt Ihr Euch dies einmal ansehen, kompilieren und auf einem anderen Server installieren.
Ggf. könnt Ihr etwas erkennen, was mir nicht aufgefallen ist oder gänzlich unbekannt ist.

Zur Verdeutlichung:
- Das UI Projekt ist in MAUI Blazor implementiert und stellt die grafische Oberfläche
- Das Entity Projekt ist selbsterklärend und als Klassenbibliothek erstellt
- Das Server-Side Projekt ist als Blazor Server App implementiert, um darüber die EF Migrationen durchführen zu können

12.09.2023 - 17:45 Uhr

Der SQL Server ist auf dem selben Server installiert, auf welchem in der App rumgeklickt werden soll (für den Anfang).
Remoteverbindung ist eingeschaltet
TCP/IP sind aktiv
Named Pipe ist nicht vorhanden
Firewall Regeln wurden bereits für: 135; 1433;1434;4022 & 1434 UDP erstellt (eingehend und ausgehend)
Die Firewall ist ausgeschaltet
Der Virenschutz ist ausgeschaltet
Das dotnet-sdk-7.0.400-win-x64 wurde installiert

Erhalte aber immer noch denselben Verbindungsfehler...
Habe eine Winform gebaut um den Connectionstring zu prüfen (Mit der Winforms App funktioniert die Verbindung einwandfrei).

Nice to know
Das UI wurde als MAUI Blazor-App entwickelt, damit die Applikation als Desktop Applikation installiert werden kann. Eigentlich sollte die Applikation meiner Meinung nach unabhängig von der Webassembly und den Zugriff auf die Datenbank genutzt werden können.

12.09.2023 - 12:13 Uhr

Auch wenn ich die App mittels msix auf dem Server installiere und der SQL-Server auch auf diesem Server installiert ist?

12.09.2023 - 12:05 Uhr

Hallo Abt

Im Moment ist es noch eine Server-Side App, um dem Kunden etwas zum Klicken in die Hand zu geben, da die Rest-API noch nicht gebaut wurde.
Die Maui-App funktioniert bei mir ohne Probleme, wenn ich diese lokal installiere.

Cheers

12.09.2023 - 11:28 Uhr

Hallo zusammen

Ich habe mir eine Maui Blazor-Hybrid App in .NET 7 gebaut, welche ganz ordentlich was hermacht und lokal wunderbar läuft.
Nach der Installation der App auf einem anderen Windows 10 Pro x64 Server, erhalte ich die Fehlermeldung, dass der Sql-Server-Express (2019) nicht erreicht werden kann.

Error:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SNI_PN11, error: 26 - Error Locating Server/Instance Specified)

Über das Management Studio kann ohne Probleme eine Verbindung mit der entsprechenden Datenbank hergestellt werden.

Ich habe unterschiedlichste ConnectionStrings versucht:
- mit & ohne User+PW
- mit & ohne IP-Addresse
- mit & ohne Local Angabe

Geprüfte aber erfolgslose Connection-Strings:
- "Data Source=.\\SQLEXPRESS; Initial Catalog=DemoDatabase; User Id=SimpleUser; Password=SimpleUserPassword; TrustServerCertificate=True; Encrypt=False"
- "Data Source=.\\SQLEXPRESS; Initial Catalog=DemoDatabase; Integrated Security=True"
- "Data Source=DNS-Name\\SQLEXPRESS; Initial Catalog=DemoDatabase; Integrated Security=True; TrustServerCertificate=True; Encrypt=False"
- "Data Source=DNS-Name\\SQLEXPRESS; Initial Catalog=DemoDatabase; User Id=SimpleUser; Password=SimpleUserPassword; TrustServerCertificate=True; Encrypt=False"
- "Data Source=DNS-Name\\SQLEXPRESS; Initial Catalog=DemoDatabase; Integrated Security=True"
- "Data Source=DNS-Name\\SQLEXPRESS; Initial Catalog=DemoDatabase; User Id=sa; Password=sapassword; TrustServerCertificate=True; Encrypt=False"
- "Data Source=IP-Address\\SQLEXPRESS; Initial Catalog=DemoDatabase; User Id=sa; Password=sapassword; TrustServerCertificate=True; Encrypt=False"
- "Server=.\\SQLEXPRESS; Database=DemoDatabase; User Id=SimpleUser; Password=SimpleUserPassword; TrustServerCertificate=True; Encrypt=False"

SQL-Server Management Einstellungen:
- Ich habe die SQL Server Remote Einstellung geprüft
- Ich habe den SQL Port geprüft und versucht auf Default (1433) gestellt

SQL-Profiler
Bei allen versuchen wird kein Event im Trace-Log des SQL-Profiler geloggt

Registriert wird der DatabaseContext in meinem Projekt mittels:
builder.Services.AddDbContextFactory<DatabaseContext>((DbContextOptionsBuilder options) ⇒
options.UseSqlServer(connectionString));

Habt Ihr noch ein paar Ideen, was ich versuchen könnte, um eine erfolgreiche Datenbankverbindung herstellen zu können?

Gruss Dolce

09.08.2023 - 15:18 Uhr

Habe es jetzt mit einer zusätzlichen Klasse gelöst, was ich eigentlich nicht wirklich wollte und schreibe den Stream mittels JsonSerializer in diese Klasse.

var appSettings = System.Text.Json.JsonSerializer.Deserialize<AppSettings>(assembly.GetManifestResourceStream(strAppConfigStreamName));
var connectionString = appSettings.ConnectionStrings.Default;

Trotzdem vielen Dank

09.08.2023 - 15:06 Uhr

Hallo Abt

Auf der verlinkten Seite war ich bereits und hat mir nicht weitergeholfen.

Ich würde gerne den ConnectionString nach dem Einlesen wieder auslesen und in der MauiProgram.cs Klasse weiterverwenden.

Dolce

09.08.2023 - 14:49 Uhr

Hallo zusammen

Meine Frage ist, wie kann ich einen Wert in der MauiProgram.cs Klasse aus der appsettings.json auslesen, nachdem diese eingelesen wurde.

Das ein Lesen der appsettings.json funktioniert einwandfrei, aber ich komme einfach nicht an die Werte heran, den ich würde gerne den ConnectionString nach dem Einlesen wieder auslesen und in der MauiProgram.cs Klasse weiterverwenden.

appsettings.json inhalt

{
"ConnectionStrings": {
"SQL": "Data source connection"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

Einlesen des appsettings.json in der MauiProgram.cs

string stringAppConfigStreamName = string.Empty;
stringAppConfigStreamName = "{MyMauiProjectName}.appsettings.json";
var assembly = IntrospectionExtensions.GetTypeInfo(typeof(MauiProgram)).Assembly;
var stream = assembly.GetManifestResourceStream(stringAppConfigStreamName);
var config = new ConfigurationBuilder()
.AddJsonStream(stream)
.Build();

Beste Grüsse

Dolce

14.07.2023 - 14:16 Uhr

Hallo Abt

Besten Dank für den wertvollen Input.

Und nein, ich erwarte keine Pfannenfertigen Lösungen. Viel mehr einen Schubs in die richtige Richtung. Sucht man mit den falschen Schlüsselwörtern, kriegt man auch keine vernünftige Antwort aus dem I-Net.

Manchmal sieht man eben vor lauter Wald die Bäume nicht mehr und dann ist es sehr wertvoll, wenn die Kollegen aus ihrer eigenen Betriebsblindheit herausgeholt werden.

Allem Anschein nach bin ich der einzige, dem so etwas mal unterkommen kann.

Cheers Dolce

14.07.2023 - 11:27 Uhr

Verwendetes Datenbanksystem: MSSQL 19.0.2

Hat jemand Erfahrung mit initialen Applikation Roll-Outs auf Windowssysteme, welche die Datenverwaltung über ein EntityFramework handeln?
Da ich mit meiner Suche bis jetzt noch auf einen grünen Zweig gekommen bin, weil ich ganz bestimmt im I-Net meine Frage falsch formuliere, versuche ich hier bei euch einen möglichen Ansatz zu erhaschen, welcher es mir ermöglicht, bei einem initialen Installationsablauf einer Software, die Datenbankstruktur mittels EF Add-Migration & Update-Database o.ä. laufen zu lassen.

Um ein paar nützliche links wäre ich sehr dankbar.

Für eure Unterstützung bedanke ich mich im voraus.

Beste Grüsse Dolce

13.07.2023 - 10:07 Uhr

Vielen Dank für eure schnellen Antworten.

Soll das Projekt auf Windows laufen?
Vorerst ja. Es besteht aus drei Teilen. Aus einer Desktopapplikation, einer Web-Applikation und einer Desktop-Mobile Applikation, welche mittels Rest-API miteinander kommunizieren sollen.
Weshalb ich das technologische Know-how auf den neusten Stand bringen will, hat auch den Hintergrund, dass mit den Erkenntnissen aus dem neu zu erstellenden Projekt, weitere noch zukünftige Projekte durch die Unternehmensführung akquiriert werden können ohne vorerst noch eine Kostenstelle für hohes Lehrgeld einrichten zu müssen, was auch eine direkte Auswirkung auf den Zeitpunkt des Roll-Outs haben wird. Sollten neue Wünsche von Kunden kommen, will ich bereit sein, diese asap. Umsetzten zu können.

Der zweite Grund ist auch, dass ich für mich auch die Change sehe, mich von WinForms Applikationen lösen zu können (solange die Nettigkeiten der DevExpress Controls aus WinForm auch in den neuen Technologien verbaut sind, wo von ich ausgehe). Dies ist schon seit Jahren ein großer Punkt auf meiner Pendenzenliste und konnte dank der hohen Auslastung auf der Arbeit nicht wirklich angegangen werden. Denn neben der Arbeit will man doch auch noch etwas private Zeit für die Erholung übrighaben. Und da ich täglich vor den Bildschirmen sitze, bin ich nicht mehr willens auch noch in meiner Freizeit mich vor die Monitore zu setzen. Da lese ich doch lieber noch ein paar Bücher.

Auf keinen Fall will ich aber auf eine Technologie setzen, welche dann in naher Zukunft eingestampft wird. So zumindest klingt es aus Community Kreisen, welche MAUI als eine Wiederauferstehung von Xamarin beschreiben, wodurch Microsoft versucht, eine schlechte Technologie unter neuem Namen den Entwicklern unterzujubeln.

Wie denkt ihr über Blazor?

Ich habe mir am Dienstag auch noch Blazor und Blazor - Hyprid angeschaut.
Ob mit oder ohne MAUI, werde ich Blazor trotzdem weiterverwenden können (so meine Einbildung). Sicherlich ist Blazor auch noch keine alte Technologie, jedoch habe ich zu Blazor wenig Negatives gelesen. Und mit MAUI kann ich dann eine Blazor Applikation mit einer EXE Datei ausliefern, ohne dass ich von einem IIS-Server abhängig wäre.

11.07.2023 - 09:19 Uhr

Hallo Community

Ich habe das Privileg, ein neues, größeres Desktop-Projekt erstellen zu dürfen.

Da ich komplett aus der alten WinForm und ASP.NET Welt komme und dieses Projekt gerne auf dem heutigen technologischen Stand entwickeln möchte, stellt sich mir die Frage, ob es nun eine MAUI oder eine WinUI Applikation werden soll.

Ich habe versucht, mich in einigen Foren über MAUI und WinUI schlau zu machen, musste aber erkennen, dass zwischen MAUI und WinUI teilweise ein regelrechter Religionskrieg herrscht. Was jetzt "state of the art" ist und was bereits wieder als Totgeburt angesehen wird, da scheiden sich die Geister enorm. Das macht dann die Auswahl der Himmelsrichtung nicht gerade leichter.

Mich würde es brennend interessieren, was eure Erfahrungen mit den beiden Technologien waren und weshalb Ihr Euch für den einen oder anderen Schritt entschieden habt. Denn auf ein bereits totgeschossenes Pferd will ich nicht wirklich setzen.

Beste Grüsse

Dolce

23.02.2022 - 13:08 Uhr

Verwendetes Datenbanksystem: MSSQL 2019

Hallo an alle
Ich habe den DatabaseContext so umgebaut, dass bei einem DatabaseContext.Entity.Load(), Anmeldeinformationen aus einem Setting ausgelesen und verwendet werden.
Das funktioniert so weit auch einwandfrei.

Meine Frage ist nun, wie kann ich den Update-Database Aufruf in der Paket-Manager-Konsole so überschreiben oder umbiegen, dass auch dieser Befehl erst die Settings-Datei einliest und die darin enthaltenen Anmeldeinformationen einliest? Denn, wenn ich nach einer Add-Migration Befehl in der Paket-Manager-Konsole den Update-Database nachschiebe, sind die User und Passwortangaben natürlich leer.

Habt mir wer einen nützlichen Link?


if (!optionsBuilder.IsConfigured)
{
      optionsBuilder.UseSqlServer($"Server={EntityFrameworkProperties.SqlServerInstanceName};Database={EntityFrameworkProperties.DatabaseName};User ID={user};Password={pw};");             
}

Wenn ich noch ein zweites Anliegen einbringen darf:
Wenn mir jemand noch einen nützlichen Link nennen kann, welcher mir das Roll-Out von EF6 Migration auf eine Bestehende Kunden-DB aufzeigt wäre ich ebenfalls äusserst Dankbar...

Beste Grüsse Dolce

09.09.2021 - 14:03 Uhr

Hallo zusammen

Mich würde es interessieren, welche Verschlüsselungssoftware Ihre bei euren Projekten nutzt.
Damit meine Ich, ich möchte den Source-Code vor dem Rollout verschlüsseln, damit das auslesen mittels Reflection etwas erschwert wird.

Beste Grüsse
Dolce

18.03.2021 - 07:10 Uhr

Hallo T-Virus

Danke Dir für diese wertvolle Antwort.

Ja die Applikation ist/wird mit ASP.NET Web-Forms umgesetzt. Und ja ich habe schon seit geraumer Zeit keine Web-Applikationen mehr geschrieben. Wenn man dann schnell was braucht, orientiert man sich dann schnell am alt bekannten.

Dann werde ich mir ein paar Tutorials über Blazor reinziehen...

Dolce

17.03.2021 - 12:27 Uhr

Hallo Community

Ich trete seit geraumer Zeit auf derselben Stelle.
Ich will einen ausgelesenen Wert über eine JavaScript Funktion in eine Session übergeben, um diese dann später auslesen zu können.

Im unten aufgeführten Beispiel, kann ich einen Wert an eine Session übergeben:


 <% var text1= "Welcome Mamu";%>
            <%Session["status"] =text1;%>
            var session_value = '<%=Session["status"]%>';
            alert(session_value);

Wenn ich aber einen mit JavaScript ermittelten Wert in die Session überführen möchte, klappt dies leider nicht...


            var text1= "Welcome Mamu";
            <%Session["status"] = text1;%>
            var session_value = '<%=Session["status"]%>';
            alert(session_value);


var text1 = "Welcome Mamu";
            <%Session["status"] = %> text1.toString()  <%;%>;
            var session_value = '<%=Session["status"]%>';
            alert(session_value);

Kann mir wer einen Hinweis oder einen Link anbieten, mit welchem ich auf eine Lösung kommen kann?

Nachtrag:
Der untenstehende Aufruf liefert mir beim auslesen der Session in der .NET Klasse nur " + text1 +"


var text1 = "Welcome Mamu";
            '<%Session["status"] = "' + text1 + '"; %>';
            var session_value = '<%=Session["status"]%>';
            alert(session_value);

Besten Dank und Gruss
Dolce

27.11.2020 - 14:37 Uhr

Auf jeden Fall, nur man kann nicht alles auf einmal machen. 😃

26.11.2020 - 16:05 Uhr

Ich will euch nicht vorenthalten, was der Grund war.

Der Grund war, das mein Projekt korrupt war. Ich bin heute darüber gestolpert, als ich eine setup.exe für diese Applikation erstellen wollte. Da gab es ordentlich viele Fehlermeldungen, das gewisse dll's nicht in das Zielverzeichnis kopiert werden können da nicht vorhanden.
Nun, die dll's waren im Source Verzeichnis alle vorhanden.

Also habe ich pragmatisch ein neues Projekt angelegt und step-by-step alle Komponenten vom alten Projekt in das neue Projekt kopiert.

Anschließend konnte eine setup.exe erzeugt werden, welche beim Kunden auch zum gewünschten Ergebnis geführt hat.

Für eure Unterstützung bedanke ich mich recht herzlich

26.11.2020 - 12:23 Uhr

Leider hat meine Erweiterung zu keinem Ergebnis geführt. Da die Applikation nicht gestartet werden kann, werden auch keine Logdateien erzeugt.
Ebenfalls habe ich dem ganzen Applikationsorder beim Kunden die Rechte für den Benutzer "Jeder" auf Vollzugriff gesetzt.

Könnten die Fehlermeldungen auf fehlende dll's hindeuten?

Folgende Fehlermeldungen werden in das Event-Log geschrieben:> Fehlermeldung:

Name der fehlerhaften Anwendung: AenderungswesenUserVerwaltung.exe, Version: 1.0.0.0, Zeitstempel: 0x9fc4e8b6
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.19041.572, Zeitstempel: 0x979ddb1d
Ausnahmecode: 0xe0434352
Fehleroffset: 0x00129ab2
ID des fehlerhaften Prozesses: 0x2558
Startzeit der fehlerhaften Anwendung: 0x01d6c3e3fb0f042a
Pfad der fehlerhaften Anwendung: C:\AenderungswesenUserVerwaltung.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: 3d1ba573-d2bb-4f2c-9876-db0ec01bc472
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:

Fehlermeldung:
Anwendung: AenderungswesenUserVerwaltung.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.Data.SqlClient.SqlException
bei System.Data.SqlClient.SqlConnection.OnError(System.Data.SqlClient.SqlException, Boolean, System.Action1&lt;System.Action&gt;) bei System.Data.SqlClient.SqlInternalConnection.OnError(System.Data.SqlClient.SqlException, Boolean, System.Action1<System.Action>)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(System.Data.SqlClient.TdsParserStateObject, Boolean, Boolean)
bei System.Data.SqlClient.TdsParser.TryRun(System.Data.SqlClient.RunBehavior, System.Data.SqlClient.SqlCommand, System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.BulkCopySimpleResultSet, System.Data.SqlClient.TdsParserStateObject, Boolean ByRef)
bei System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
bei System.Data.SqlClient.SqlDataReader.get_MetaData()
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.RunBehavior, System.String, Boolean, Boolean, Boolean)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, Boolean, Int32, System.Threading.Tasks.Task ByRef, Boolean, Boolean, System.Data.SqlClient.SqlDataReader, Boolean)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String, System.Threading.Tasks.TaskCompletionSource1&lt;System.Object&gt;, Int32, System.Threading.Tasks.Task ByRef, Boolean ByRef, Boolean, Boolean) bei System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String) bei System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior, System.String) bei System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior) bei System.Data.Common.DbCommand.ExecuteReader(System.Data.CommandBehavior) bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher+&lt;&gt;c.&lt;Reader&gt;b__6_0(System.Data.Common.DbCommand, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext1<System.Data.Common.DbDataReader>)
bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Dispatch[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.__Canon, System.Func3<System.__Canon,System.__Canon,System.__Canon>, System.__Canon, System.Action3&lt;System.__Canon,System.__Canon,System.__Canon&gt;, System.Action3<System.__Canon,System.__Canon,System.__Canon>)
bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(System.Data.Common.DbCommand, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext)
bei System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(System.Data.CommandBehavior)
bei System.Data.Common.DbCommand.ExecuteReader(System.Data.CommandBehavior)
bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(System.Data.Entity.Core.EntityClient.EntityCommand, System.Data.CommandBehavior)

Ausnahmeinformationen: System.Data.Entity.Core.EntityCommandExecutionException
bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(System.Data.Entity.Core.EntityClient.EntityCommand, System.Data.CommandBehavior)
bei System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Data.Entity.Core.Objects.ObjectContext, System.Data.Entity.Core.Objects.ObjectParameterCollection)
bei System.Data.Entity.Core.Objects.ObjectQuery1+&lt;&gt;c__DisplayClass41_0[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;GetResults&gt;b__1() bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func1<System.__Canon>, System.Data.Entity.Infrastructure.IDbExecutionStrategy, Boolean, Boolean)
bei System.Data.Entity.Core.Objects.ObjectQuery1+&lt;&gt;c__DisplayClass41_0[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;GetResults&gt;b__0() bei System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func1<System.__Canon>)
bei System.Data.Entity.Core.Objects.ObjectQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResults(System.Nullable1<System.Data.Entity.Core.Objects.MergeOption>)
bei System.Data.Entity.Core.Objects.ObjectQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator&gt;b__31_0() bei System.Data.Entity.Internal.LazyEnumerator1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
bei System.Linq.Enumerable+WhereSelectEnumerableIterator2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() bei System.Linq.Enumerable.Count[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable1<System.__Canon>)
bei AenderungswesenUserVerwaltung.UserAdministration..ctor()
bei AenderungswesenUserVerwaltung.Program.Main()

25.11.2020 - 12:10 Uhr

Vielen dank Th69

Ich erweitere meine Applikation um die erweiterte Logger Funktion. Dann werde ich morgen sehen, ob beim Kunden weitere wertvolle Informationen geloggt werden.

Es ist immer Käse, wenn Applikationen beim Entwickler laufen, aber beim Kunden nicht starten wollen...

Gruß Dolce

25.11.2020 - 08:08 Uhr

Ich habe meine erste Applikation mit EF6 von Grund auf selbst entworfen implementiert und versuche diese nun beim Kunden zum Laufen zu bringen.
Leider bricht die Applikation beim Starten mit einer SQL Exception ab.

Die Anwendung wurde mit dem Ziel Framework 4.5.2 implementiert

Der Rechner hat Windows 10 installiert und die Applikation versucht eine Verbindung zum SQL Server (2008 Version) aufzubauen. Ist evtl. der SQL Server zu alt?
Alle Angaben in der Connection sind richtig, und auch die Datenbank ist inkl. der __MigrationHistory genau gleich wie auf meiner Entwicklungsumgebung.

Muss trotzdem im OS enthaltenen .Net Framework, die "Entity Framework Runtime" & ggf. die "Entiity Framework Tools" auf jedem Rechner nachinstalliert werden?

Fehlermeldung:
Anwendung: xy.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
Ausnahmeinformationen: System.Data.SqlClient.SqlException
bei System.Data.SqlClient.SqlConnection.OnError(System.Data.SqlClient.SqlException, Boolean, System.Action1&lt;System.Action&gt;) bei System.Data.SqlClient.SqlInternalConnection.OnError(System.Data.SqlClient.SqlException, Boolean, System.Action1<System.Action>)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(System.Data.SqlClient.TdsParserStateObject, Boolean, Boolean)
bei System.Data.SqlClient.TdsParser.TryRun(System.Data.SqlClient.RunBehavior, System.Data.SqlClient.SqlCommand, System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.BulkCopySimpleResultSet, System.Data.SqlClient.TdsParserStateObject, Boolean ByRef)
bei System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
bei System.Data.SqlClient.SqlDataReader.get_MetaData()
bei System.Data.SqlClient.SqlCommand.FinishExecuteReader(System.Data.SqlClient.SqlDataReader, System.Data.SqlClient.RunBehavior, System.String, Boolean, Boolean, Boolean)
bei System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, Boolean, Int32, System.Threading.Tasks.Task ByRef, Boolean, Boolean, System.Data.SqlClient.SqlDataReader, Boolean)
bei System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String, System.Threading.Tasks.TaskCompletionSource1&lt;System.Object&gt;, Int32, System.Threading.Tasks.Task ByRef, Boolean ByRef, Boolean, Boolean) bei System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String) bei System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior, System.String) bei System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior) bei System.Data.Common.DbCommand.ExecuteReader(System.Data.CommandBehavior) bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher+&lt;&gt;c.&lt;Reader&gt;b__6_0(System.Data.Common.DbCommand, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext1<System.Data.Common.DbDataReader>)
bei System.Data.Entity.Infrastructure.Interception.InternalDispatcher1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Dispatch[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.__Canon, System.Func3<System.__Canon,System.__Canon,System.__Canon>, System.__Canon, System.Action3&lt;System.__Canon,System.__Canon,System.__Canon&gt;, System.Action3<System.__Canon,System.__Canon,System.__Canon>)
bei System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(System.Data.Common.DbCommand, System.Data.Entity.Infrastructure.Interception.DbCommandInterceptionContext)
bei System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(System.Data.CommandBehavior)
bei System.Data.Common.DbCommand.ExecuteReader(System.Data.CommandBehavior)
bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(System.Data.Entity.Core.EntityClient.EntityCommand, System.Data.CommandBehavior)

Ausnahmeinformationen: System.Data.Entity.Core.EntityCommandExecutionException
bei System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(System.Data.Entity.Core.EntityClient.EntityCommand, System.Data.CommandBehavior)
bei System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Data.Entity.Core.Objects.ObjectContext, System.Data.Entity.Core.Objects.ObjectParameterCollection)
bei System.Data.Entity.Core.Objects.ObjectQuery1+&lt;&gt;c__DisplayClass41_0[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;GetResults&gt;b__1() bei System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func1<System.__Canon>, System.Data.Entity.Infrastructure.IDbExecutionStrategy, Boolean, Boolean)
bei System.Data.Entity.Core.Objects.ObjectQuery1+&lt;&gt;c__DisplayClass41_0[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;GetResults&gt;b__0() bei System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Func1<System.__Canon>)
bei System.Data.Entity.Core.Objects.ObjectQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResults(System.Nullable1<System.Data.Entity.Core.Objects.MergeOption>)
bei System.Data.Entity.Core.Objects.ObjectQuery1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].&lt;System.Collections.Generic.IEnumerable&lt;T&gt;.GetEnumerator&gt;b__31_0() bei System.Data.Entity.Internal.LazyEnumerator1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
bei System.Linq.Enumerable+WhereSelectEnumerableIterator2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() bei System.Linq.Enumerable.Count[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable1<System.__Canon>)
bei AenderungswesenUserVerwaltung.UserAdministration..ctor()
bei AenderungswesenUserVerwaltung.Program.Main()

Über einen Tipp oder Link wäre ich sehr froh...

Beste Grüße Dolce

20.07.2018 - 13:51 Uhr

verwendetes Datenbanksystem: <MSSQL 2016>
EntityFramework 6.1

Hallo Community

Ich habe in einer Datenbank, welche mittels CodeFirst erstellt wurde, eine neue View angelegt.
Ich will nun diese View als Objekt dem DatabaseContext zuführen, ohne das eine neue Add-Migration fällig wird.

Ich habe bereits eine POCO Klasse erstellt, welche ich in der Methode "OnModelCreating" über modelBuilder.Ignore<ViewContextName>() ausgeschlossen habe um diese später befüllen zu können.
Anschliessend habe ich die POCO Klasse erstellt und in der DatabaseContext Klassen Methode "OnModelCreating" über modelBuilder.Ignore<ViewContextName>(); aus dem Migrationsprozess ausgeschlossen, da diese bereits in der Datenbank existiert.
Hat jemand eine Ahnung, wie ich eine Entity zur Laufzeit dem DB-Context zufügen kann?

Gruss Dolce

05.07.2017 - 13:30 Uhr

Hallo Community

Ich nutze zur Evaluierung von Active Directory Pfaden das Sysinternaltool um das lokale Active Directory auzulesen. Leider sehe ich mit diesem Tool mehr CN Users in einer bestimmten OU als mit dem Active Directory bei welchem ich den identischen Pfad nutze.

Wenn ich nun den untenstehende AD Pfad nutze, erhalte ich eine Menge Users mit welchen ich arbeiten kann, jedoch fehlen mir einige Users in diesem Suchergebnis.


OU=Users,OU=_Central,OU=10DE001,OU=10DE,OU=10,DC=ad1,DC=company,DC=com

Wenn ich jedoch direkt den user wie im untenstehenden Beispiel mittels C# suche, kann ich den User finden.


CN=Muster Hans musterHans,OU=Users,OU=_Central,OU=10DE001,OU=10DE,OU=10,DC=ad1,DC=company,DC=com

Der filter ist in beiden fälle ein leer string.

Hat wer eine Idee was die Ursache für mein Phänomen sein könnte?

Gruss Dolce

16.06.2017 - 06:46 Uhr

Vielen Dank für eure Antworten. Ich werde die Ansätze von M.I. und FZelle prüfen

Gruss Dolce

15.06.2017 - 15:32 Uhr

Was bedeutet den dieses Zeichen (^)?

15.06.2017 - 14:01 Uhr

Hallo allerseits

Da ich in php leider eine totale Flasche bin, benötige ich hierbei Hilfe.

Ich möchte gerne in einem Beispiel projekt untenstehende php Funktion aufrufen.

[php]
function entschluesseln($geheimtext, $schluessel)
{
$geheimtext = base64_decode($geheimtext);
$klartext = "";
for($i=0; $i<strlen($geheimtext);$i++)
$klartext .= chr(ord($geheimtext{$i})^ord($schluessel{$i%strlen($schluessel)}));
return $klartext;
}
[/php]

Hat mir wer einen Link für (Hilfestellung link meinte ich)?

Gruss Dolce

11.05.2017 - 13:42 Uhr

Hi Rufo

Jup kannte ich hab es jedoch nicht verstanden. Nach dem Mittagessen war dann alles klar.... 😁



DataColumn[] parentColumns = new DataColumn[2];
DataColumn[] childColumns = new DataColumn[2];

parentColumns[0] = ds.Tables["dt2"].Columns["Id_PK"];
parentColumns[1] = ds.Tables["dt2"].Columns["ArticleNo"];

childColumns[0] = ds.Tables["dt3"].Columns["Id_FK"];
childColumns[1] = ds.Tables["dt3"].Columns["ArticleNo"];

DataRelation objRelation2 = new DataRelation("Relation2", parentColumns, childColumns,false);
ds.Relations.Add(objRelation2);


Danke aber trotzdem für deinen Input.

11.05.2017 - 11:58 Uhr

Hallo werte Kollegen

Ich möchte gerne mehrere DataTable mittels DataRelation miteinander verknüpfen.
Dies funktioniert auch einwandfrei.
Nun habe ich die Konstellation, dass zwei Tabellen mittels zwei Spalten als eindeutiger Schlüssel verknüpft werden müssen.

Kann mir hier wer von euch weiter helfen wie ich das bewerkstelligen kann? Ich kriegs einfach nicht auf die Reihe.


DataSet ds = new DataSet();

DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();

// Stellt die Verbindung zwischen den Tabellen dt1 und dt2 über die ID her
DataRelation objRelation1 = new DataRelation("Relation1", ds.Tables["dt1"].Columns["id_PK"], ds.Tables["dt2"].Columns["id_FK"]);
ds.Relations.Add(objRelation1);

// Stellt die Verbindung zwischen den Tabellen dt2 und dt3 über die ID und Artikelnummer her
DataRelation objRelation2 = new DataRelation("Relation2", ds.Tables["dt2"].Columns["id_PK"], ds.Tables["dt3"].Columns["id_FK"]); // Wie wird hier die zweite Verknüpfung angegeben ???
ds.Relations.Add(objRelation2);


Beispiel in SQL

 
Select * from Table2
inner join Table3
on Table2.Id_PK = Table3.Id_PK_PK and Table2.Artikelnummer = Table3.Artikelnummer


Danke und Gruss Dolce

22.01.2016 - 13:28 Uhr

Habe es endlich geknackt:

Über die Methode FormViewRep_ItemUpdated


protected void FormViewRep_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
    { //do something... }

welche in der Page registriert wird (siehe hier)


<asp:FormView ID="FormViewRep" runat="server" DataKeyNames="ID" DataSourceID="SqlDataSourceRep"
        OnItemInserted="FormViewRep_ItemInserted" OnItemInserting="FormViewRep_ItemInserting"
        OnItemUpdated="FormViewRep_ItemUpdated" OnItemUpdating="FormViewRep_ItemUpdating"

kann mit


Page.ClientScript.RegisterStartupScript(this.GetType(), "backPage", "<script>window.history.go(-2);</script>");

auf die letzte Seite zurück gesprungen werden.

Gruss Dolce

22.01.2016 - 12:50 Uhr

Hallo Leute

Ich habe in einer Page ein LinkButton welcher die PostBackUrl="javascript:history.back()" beim clicken aufruft.

Soweit so gut.

Nun wurde die Page um einen Update Button erweitert und sollte nun nach dem Update auf die letzte Seite zurückspringen.
Dies wollte ich nun mit dem programmatischen anstossen des click Events des LinkButton im CodeBehinde bewerkstelligen.

Leider kriege ich das so nicht gebacken.

Weiss wer von euch Rat?

Gruss Dolce

17.11.2015 - 13:02 Uhr

Hallo Forum

Ich habe eine SqlDataSource in einer ASP.NET Seite, welche ich in eine DataTable transferierte habe um diese zu modifizieren. Nun möchte ich diese gerne wieder in die SqlDataSource zurückschreiben. Jedoch habe ich bis anhin noch keine brauchbaren Lösungsansätze gefunden oder geht das nur mit ObjectDataSource?

Kann mir wer von euch helfen?

Vielen dank für eure Brain - Power.

Gruss Dolce

05.08.2015 - 14:39 Uhr

Ja ein Windows Server 2012 R2 DataCenter...

05.08.2015 - 13:02 Uhr

Hallo Abt

Vielen Dank für deine investierte Zeit.
Das wurde bereits vor deiner Antwort implementiert und getestet, leider ohne Erfolg.

Gruss Dolce

05.08.2015 - 11:08 Uhr

Hallo Community

Bei mir tritt ein Effekt auf, welchen ich mir nicht mehr erklären kann.
Wir haben eine Web Applikation in ASPX gebaut, welche Werte aus einer DB-Tabelle ausliest und schreibt.

Seit dem Serverwechsel von einem Windows Server 2008 R2 auf den neuen Windows Server 2012 tritt der Effekt auf, dass alle Dezimal Werte nicht mehr mit einem Punkt sondern mit einem Komma getrennt werden.

Wie bereits erwähnt läuft die Anwendung auf dem älteren Server fehlerfrei.

++Einstellungen: ++
In den Sprachen und Regionen ist der Punkt gesetzt.
Der DB - Benutzer hat "German" als Default Language (German) gesetzt.
In der Datenbank sind die Dezimal Werte mit einem Punkt gespeichert und werden mit einem DB Select im MSSQL Management Studio auch mit einem Punkt ausgegeben.

Ich habe bereits versucht die CulturInfo pro Page zu übersteuern jedoch ohne Erfolg…


using System.Threading;
using System.Globalization;
//……………………
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-CH");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-CH");

++Technisches: ++
Windows Server 2012
• Sprache Region => Deutsch(Schweiz)
MSSQL Server 2012
• Default Language => German
Browser:
• Internet Explorer
• Google Chrome
• Firefox
• Safari

Hat jemand on euch noch eine Idee was hier den Side Effekt generieren könnte?

Gruss Dolce

23.06.2015 - 09:21 Uhr

Hallo Forumsfreunde

Ich bin auf der Suche nach einem Zahlen Feld (Nummer Block) welcher ich gerne auf in einem UserControl einblenden kann.
Bei dem Virtuellen Keyboard ist ein solches Zahlen Feld vorhanden. Jedoch benötige ich nur den Nummer Block.
Auch ist mir bekannt, dass ich diesen selbst ohne weiteres schreiben kann. Nur wollte ich mich bei euch erkundigen, ohne das Rad neu erfinden zu müssen, ob und wie es möglich ist einen Nummern Block und nur den Nummern Block permanent auf einem UserControl anzuzeigen.

Hat jemand von euch Erfahrung damit oder eine Idee?

Grüsse Dolce

04.06.2015 - 07:44 Uhr

Hallo Forum

Meine Frage ist ziemlich banal, konnte sie bis anhin leider noch nicht lösen.

Ich habe eine WînForm mit einem GridControl inkl. GridView gebaut.
Zur Laufzeit wird die Form mit dem GridView korrekt geladen und mit Daten befüllt.

Nun zu meiner Frage:
Ich muss für den Kunden eine Spalte definieren, in welcher er die bereits eingetragenen Werte überschreiben kann.
Leider kann ich die Werte in dieser Spalte nur markieren aber nicht überschreiben.

Hat jemand eine Idee an was das Liegen oder was ich vergessen / nicht beachtet haben könnte?

AllowEdit ist gesetzt und auch das ReadOnly ist nicht aktiv.

Ich nutze zur Zeit die SQL Data Source Komponente von "DX. 14.2: Data & Analystics"

Gruss Dolce

27.05.2015 - 11:33 Uhr

Habe es hingekriegt.

Habe die Collection erneut gestoppt, getrennt und gesichert. Anschliessend gesichert und auf den FTP Server kopiert. ich vermute, das beim ersten mal das Backup irgendwie beschädigt wurde....

Vielen Dank für die Infos.

27.05.2015 - 10:05 Uhr

Hallo Palin

Hab ich getestet, leider ohne Erfolg. X(

Habe nun einen TFS 2010 auf ein win 8.1 installiert darauf die Trial Version des TFS 2012. Auch hier erhalte ich das selbe verhalten wenn ich eine bestehende Collection hinzufügen will. Die Basis Collection welche der 2010 anlegt, wird in der Liste der Collections angezeig, die zu importierende TFS Collection hingegen nicht.

Irgendwie mache ich hier noch etwas falsch...

Noch Ideen???

Gruss Dolce

23.05.2015 - 20:49 Uhr

Dies habe ich bereits versucht. Leider kann ich die Collections nicht einbinden, da diese vom TFS nicht gesehen werden können....

Irgend wer eine Ahnung wesshalb?

Gruss Dolce

23.05.2015 - 00:07 Uhr

Hallo Community

Ich wollte heute eine TFS Team Project Collection von einem TFS 2010 auf einen TFS 2013 (Update 4) migrieren.

Leider krieg ich die 2010 Collection nicht in den 2013.
Durfte jemand diesbezüglich bereits Erfahrungen sammeln? Ich übe jetzt bereits den ganzen Tag, leider ohne Erfolg. Ich kann die 2010 Collection nicht in die 2013 Team Projects laden...

Bin offen für Tipps und Anleitungen...

Gruss Dolce

22.05.2015 - 23:53 Uhr

Wie in meiner Anfrage kurz beschrieben, hatte ich die Aufgabe, Mails mit Bildern zu versenden, welche anschliessend in Outlook mit samt den Bildern dargestellt werden musste.

Ausgangslage in meiner Aufgabenstellung war, das ich einen Report mit DevExpress generiert habe, welcher anschliessend als Offerte, Rechnung etc. an Kunden versendet werden sollte, welche wiederum die Mail Mit Outlook empfangen und öffnen wollen.

Ich habe dies wie folgt mit C# realisiert:


/// <summary>
/// Send report as email
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e)
{
	// SendMail based on XtraReport from DevExpress
	var xtraReport1 = new XtraReport1();
	xtraReport1.CreateDocument();

	// Memory Stream instanzieren
	using (var ms = new MemoryStream())
	{
		xtraReport1.SaveLayout(ms, true);
		var opts = new HtmlExportOptions();
		opts.EmbedImagesInHTML = false;
		opts.ExportMode = HtmlExportMode.SingleFile;
		opts.TableLayout = true;
		opts.Title = "Ticket # 2 MyTitle ";

		xtraReport1.ExportToHtml(ms, opts);
		xtraReport1.ExportToHtml(@"C:\tmp\Reports\TestReport_2.html", opts);
	}
	this.Cursor = Cursors.Default;

	// Erlaubte Dateiendungen definieren
	var extensions = new HashSet<string>(StringComparer.OrdinalIgnoreCase)
	{
		".gif",
		".jpg",
		".png",
	};

	/****************************************************************
	* Durch das exportieren des XtraReports in ein HTML, 
	* wurden alle Image files in einen speziellen Ordner kopiert 
	* welches nun als basis Verzeichnis für das auslesen der Bild
	* Dateien für das Email verwendet werden kann.
	* Wäre kein solches Verzeichnis vorhanden, so müssten alle
	* Bilddateien aus einem bestehenden HTML extrahiert werden.
        * Mögliche Option HtmlAgilityPack dll
        ****************************************************************/

	// Verzeichnis der Bilddateien
	var baseDir = @"C:\tmp\Reports\TestReport_2_files";

	// Anzahl der Bilddateien ermitteln
	var count = Directory.EnumerateFiles(baseDir).Count(filename =>filename != null && extensions.Contains(Path.GetExtension(filename)));
	var fileNames = new string[count];
	var fileNameCounter = 0;

	foreach (var ext in extensions)
	{
		foreach (string s in Directory.GetFiles(baseDir, '*' + ext).Select(Path.GetFileName))
		{
			fileNames[fileNameCounter] = s;
			fileNameCounter++;
		}
	}

	string mySource = System.IO.File.ReadAllText(@"C:\tmp\Reports\TestReport_2.html");

	string[] source = mySource.Split(new char[] {'<'}, StringSplitOptions.RemoveEmptyEntries);
			
	foreach (var fileName in fileNames)
	{
		// Replace Image information
		mySource = (from s in source.Where(s => s.Contains("img"))
			where s.Contains(fileName)
			select s.Substring(s.IndexOf("src"), (s.IndexOf(" style") - 11))).Aggregate(mySource,(current, stringToReplace) =>current.Replace(stringToReplace, "src=\"cid:" + fileName.Substring(0, fileName.IndexOf('.')) + "\""));
	}

	// Foreach Schleife als Linq
	//mySource = fileNames.Aggregate(mySource, (current1, fileName) => (from s in source.Where(s => s.Contains("img")) where s.Contains(fileName) select s.Substring(s.IndexOf("src"), (s.IndexOf(" style") - 11))).Aggregate(current1, (current, stringToReplace) => current.Replace(stringToReplace, "src=\"cid:" + fileName.Substring(0, fileName.IndexOf('.')) + "\"")));

	System.IO.File.WriteAllText(@"C:\tmp\Reports\TestReport_2_new.html", mySource.ToString());

	var avHtmlNew = AlternateView.CreateAlternateViewFromString(System.IO.File.ReadAllText(@"C:\tmp\Reports\TestReport_2_new.html"), null,System.Net.Mime.MediaTypeNames.Text.Html);


	foreach (var fileName in fileNames)
	{
		// Replace Image information				
		var inline = new LinkedResource(@"C:\tmp\Reports\TestReport_2_files\" + fileName,MediaTypeNames.Image.Jpeg);
		inline.ContentId = fileName.Substring(0, fileName.IndexOf('.'));
		avHtmlNew.LinkedResources.Add(inline);
	}

	// Email propeties befüllen
	var mail = new MailMessage("peter.baumann@phibus.ch", "atenahusky@gmail.com");
	mail.IsBodyHtml = true;
	mail.Subject = "this is a test email.";
	mail.AlternateViews.Add(avHtmlNew);
	mail.Body = System.IO.File.ReadAllText(@"C:\tmp\Reports\TestReport_2_new.html");
	mail.IsBodyHtml = true;

	var client = new SmtpClient();
	client.DeliveryMethod = SmtpDeliveryMethod.Network;
	client.UseDefaultCredentials = false;

	try
	{
		//Anmeldedaten für den SMTP Server
		client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["SMTPUser"],ConfigurationManager.AppSettings["SMTPPassword"]);
		client.Host = ConfigurationManager.AppSettings["SMTPHost"];
		client.Port = 25;
		client.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["SMTPSSL"]);
		client.Send(mail);

		MessageBox.Show("Email has send!!!");
	}
	catch (Exception ex)
	{
		MessageBox.Show("Can't sending email:\n" + ex.Message, "Error by sending mail", MessageBoxButtons.OK,MessageBoxIcon.Error);
	}
}

Viel spass beim einbauen
Gruss Dolce

12.05.2015 - 18:42 Uhr

Hat sich erledigt 😃

Es lag nicht an den CID's 😃

Und Vielen Dank für die Hilfe.

Gruss Dolce

12.05.2015 - 17:51 Uhr

Der Test mit der Lösung von Abt hat ergeben, das nun die Bilder als Attachements in das Mail gehängt werden.

Gibt es nicht auch noch die Möglichkeit, das die Bilder direkt im Mail angezeigt werden?

Gruss Dolce

12.05.2015 - 13:21 Uhr

Hallo Abt

Vielen dank für deinen Tipp.
Werde dies sogleich testen.

Beste Grüsse
Dolce

12.05.2015 - 12:37 Uhr

Hallo Forum

Ich erzeuge mit C# ein Email welches im Mail.Body eine HTML Page inkl. Bilder mit versendet.
Das Problem ist nun, das in Outlook nur der Text aus dem HTML angezeigt wird und die Bilder nicht. Auch nach dem Bilder download der Bildinformationen, wird das Email ohne Bilder dargestellt. Nur das Anzeigen der Mail mit der Outlook "Ansichtim Browser", wird das Mail korrekt dargestellt.

Das EmbedImagesInHTML ist auf true gesetzt


var mail = new MailMessage("info@info.ch", "info@info.com");
mail.Body = System.IO.File.ReadAllText(Path.Combine("TestReport_2.html"));
mail.IsBodyHtml = true;
mail.Subject = "this is a test email.";


try
{
	client.Credentials = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["SMTPUser"], ConfigurationManager.AppSettings["SMTPPassword"]);  //Anmeldedaten für den SMTP Server
	client.Host = ConfigurationManager.AppSettings["SMTPHost"];
	client.Port = 25;
	client.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["SMTPSSL"]);
	client.Send(mail);
	MessageBox.Show("Email has send!!!");
}
catch (Exception ex)
{
	MessageBox.Show("Can't sending email:\n" + ex.Message, "Error by sending mail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Kann mir jemand einen Tip geben? oder habe ich noch eine Einstellung übersehen?

Gruss Dolce

24.03.2015 - 15:53 Uhr

Hallo MrSparkle

Da steht nichts von horizontalen oder vertikalen Ausgaben

Hier handelt es sich nicht um die Physische Ausgabe sondern um die logische Datenabfrage, anhand welcher ich anschliessend über den ganzen Datensatz meine Abfrage gestalten kann. Die ist jedoch nicht in Stein gemeisselt und kann auch anders ermittelt werden.

Allerdings kennst du doch offenbar die betreffenden LizenzIDs vorher schon...

Nein mir sind lediglich die ArtikelID's bekannt und ich muss die Adresse.Firma ausgeben.

Was du mit einer weiteren Tabellenreferenz meinst, verstehe ich allerdings nicht...

Ein weiterer JOIN Verknüpfung auf eine Tabelle.

Vielleicht solltest du erstmal deine Anforderungen posten, bevor du Code und Lösungsversuche postest...

Meine Anforderung war:

Ich soll nun ermitteln welcher Kunde die LizenzID 53 UND die LizenzID 73 gekauft hat. (Das war die Anforderung)

Du hast recht die Anforderung muss lauten:

Ich soll nun ermitteln welcher Kunde die Lizenz.ArtikelID 53 UND die Lizenz.ArtikelID 73 gekauft hat.

Gruss Dolce

24.03.2015 - 15:16 Uhr

Ich glaube das ich es lösen konnte.

-- Kein Adresse


Select Adresse.Firma
from Adresse as Adresse with (nolock)
inner join Lizenz as Lizenz1 with (nolock) on Adresse.ID = Lizenz1.AdresseID and Lizenz1.ArtikelID = '53'
inner join Lizenz as Lizenz2 with (nolock) on Adresse.ID = Lizenz2.AdresseID and Lizenz2.ArtikelID = '73'
inner join Lizenz as Lizenz3 with (nolock) on Adresse.ID = Lizenz3.AdresseID and Lizenz3.ArtikelID = '88'

-- Eine Adresse =)


Select Adresse.Firma
from Adresse as Adresse with (nolock)
inner join Lizenz as Lizenz1 with (nolock) on Adresse.ID = Lizenz1.AdresseID and Lizenz1.ArtikelID = '53'
inner join Lizenz as Lizenz2 with (nolock) on Adresse.ID = Lizenz2.AdresseID and Lizenz2.ArtikelID = '73'

So könnte ich das SQL Statement zumindest dynamisch zusammenbauen...

Falls jemand eine einfachere Lösung hat, bin ich gespannt auf dessen Vorschlag =) =) =)

Gruss Dolce