• Webseitenerstellung und -hosting
  • .NET Anwendungsentwicklung
  • softwaregesteuerte Prozessoptimierung
  • .NET

    Programmierung

  • WebseitenErstellung

    undHosting

  • softwaregesteuerte

    Prozessoptimierung

  • Konzeption

    und Beratung

solutionS Daily Grind - Blog
%AM, %04. %468 %2012 %10:%Jun

X509Certificate2 Passwort

Artikel bewerten
(0 Stimmen)
RSA Verschlüsselung mit .net Das sich dieser Blog hauptsächlich mit mystischen, kryptischen, durch Voodoo Priester verhexten programmtechnischen Microsoft Bugs, Ungereimtheiten und nicht nachvollziehbaren unlogischen Sinn befasst, hier ein Auszug auf dem täglichen Wahnsinn. Ein nicht passwortgeschütztes privates PFX Zertifikat laden:
Dim cert = New X509Certificate2(File.ReadAllBytes(strPFXFile)

Fehler: Netzwerkkennwort nicht erkannt ("The specified network password is not correct")

Lösung: Der optionale(!) Parameter "Password" muss bei Windows 2003 und darunter  fix gesetzt werden.

Also in meinem Fall:

Dim cert = New X509Certificate2(File.ReadAllBytes(strPFXFile),"")

wie immer: Da muss man erstmal draufkommen :-(	  
%PM, %09. %665 %2012 %14:%Mai

Entity Framework Insert

Artikel bewerten
(0 Stimmen)
Beim Insert in die Datenbank über Entity Framework erscheint folgende Fehlermeldung: EntitySet 'errorlog' kann nicht aktualisiert werden, denn es hat eine DefiningQuery, und im -Element ist kein -Element zur Unterstützung des aktuellen Vorgangs vorhanden. Da diese nicht wirklich aussagekräftig ist poste ich diese mal hier, da das Problem schlciht und einfach ein fehlender Primary-Key in der Tabelle ist. Da ich diesen hier nicht wirklich brauche, da es eine "Standalone" Tabelle ist, löse ich das einfach mit einem auto-increment-uniqidentifier.                   Code-Snippet des Inserts:

Using db As New Entities

Dim errE As New errorlog

errE.benutzer = usrBenutzer.Login

errE.domain = usrBenutzer.Domain

errE.computer = usrBenutzer.Computer

errE.datum = Now

errE.fehlertext = err.Message

errE.quelle = err.Source

errE.stacktrace= err.StackTrace

db.AddToerrorlog(errE)

db.SaveChanges()

End Using

%PM, %30. %609 %2012 %13:%Mär

Link zur Entität in einer Workflow E-Mail

Artikel bewerten
(0 Stimmen)
Problem: Von MSCRM wird bei Datensatzerstellung automatisiert eine E-Mail verschickt. In dieser E-Mail kann man zwar sämtliche Informationen unterbringen, man hat aber keine Möglichkeit per Link dorthin zu gelangen. Microsoft stellt hier auch keine Lösung parat (zumindest nicht in Version 4 und ohne Drittanbietertools), zumal man im Workflow nicht direkt auf die ID der Entität zugreifen kann. Blöd! Man will es wieder nicht glauben. DAS GANZE INTERNET hatte keine Lösung! Ich habe eine kreiert, aber ganz ohne blauem Auge (markiert mit blauer Schrift) kommt man nicht davon. Dieser Link brachte mich auf die richtige Spur Da der Workflow bei Erstellung startet und man weder im Workflow noch im "FormSave" des Entitäsformulars (zumindest zu diesem Zeitpunkt) die ObjectID zur Verfügung hat, muss man beim Formload bereits einmal speichern. (Auge blau: Will man die Entität doch nicht anlegen und will das Formular über das X beenden wurde der Datensatz dennoch im Hintergrund bereits erstellt) Um dies nur beim ersten Aufruf zu tun lege ich ein Attribut "new_issaved" (bit) an, welches ich als variable missbrauche. Zusätzlich brauchen wir ein Attribut "new_link" welches als Datentyp nvarchar und Format URL  deklariert wird. der Aufruf im "onLoad" des Entitäsformulars eig. ist ganz simple: if (crmForm.all.new_issaved.value == null) { crmForm.Save(); } Hat man im Formular Pflichtfelder definiert kriegt man ein Problem, da er diese Felder beim Speichern im onLoad anmeckern würde. Ich habe die Pflichtfelder als "Eingabe empfohlen" gekennzeichnet, so erscheint zumindest anstelle des roten Sternchens. Die logische Prüfung erfolgt, ebenso wie die Prüfung auf das Kennzeichen "issaved", sowie die Befüllung der Link-Feldes mit der ObjectId im "onSave". In meinem Fall ist das betreff Feld ein Pflichtfeld: if (crmForm.all.new_issaved.value == null) { //null beim ersten aufruf, false beim ersten pseudo save, true beim korrekten save crmForm.all.new_issaved.value = false; } else { if (crmForm.all.new_betreff.value == "") { alert("Betreff muss gefüllt sein!"); event.returnValue = false; } else { crmForm.all.new_issaved.value = true; crmForm.all.new_link.value = "Link zum Kunden"; } } Erklärung: Setzt man den Html-Tag direkt in der Workflow-E-Mail funktioniert es leider nicht. Erst wenn der komplette Html-String im new_link Feld gespeichert wird ist der Link in der E-Mail auch wirklich anklickbar. der Backslash vor der Hochkommas dient der korrekten Html schreibweise und wird von Javascript ignoriert. Von Hinten durch die Brust ins Auge, da muss man erstmal draufkommen ;-)
Artikel bewerten
(0 Stimmen)
Situation: Microsoft SQL Server Integration Services 2008, ScriptTask, hinzufügen einer externen DLL Fehler:  "Es wurden keine Vorlageninformationen gefunden. Weitere Informationen erhalten Sie im Anwendungsprotokoll der Ereignisanzeige."               Dort widerum steht: "Die globalen Vorlageninformationen sind veraltet. Generieren Sie die Vorlagen erneut, indem Sie "VSTA.exe /installvstemplates" ausführen oder die Anwendung erneut installieren. Hinweis: Für die Korrekturmaßnahme sind Administratorrechte erforderlich." vermeindliche Lösung (lt.Microsoft): CMD öffnen cd "C:\Programme\microsoft visual studio 9.0\common7\ide\" VSTA.exe /installvstemplates devenv.exe /installvstemplates wenn das nichts hilft: vsta.exe /hostid SSIS_ScriptTask vsta.exe /hostid SSIS_ScriptComponent aberauch das hat bei mir nichts gebracht. Nach einer Neuinstallation des SP1 bekam ich wenigstens einen vernünftige "FilenotFoundexception" während des Debuggens des SSIS Pakets. nach der Aufnahme der DLL in den GAC funktionierte es dann!
%AM, %07. %477 %2012 %10:%Mär

Joomla Beitrags PDF Erstellung Fehler

Artikel bewerten
(0 Stimmen)
Will man sich einen Beitrag im PDF Format anzeigen, erscheint folgende Fehlermeldung: Fatal error: Allowed memory size exhausted in on line .... Das Problem liegt nicht direkt an Joomla, sondern an den PHP Einstellungen des Webservers. Man suche die php.ini, meist unter usr/lib/php und ändere den Wert memory_limit auf mindestens 50MB. Mein Provider stellt dies sogar im Backend des Kunden-Centers zur Verfügung:            
%PM, %16. %732 %2012 %16:%Feb

Delete from LinkedServer inner Join local

Artikel bewerten
(0 Stimmen)
Situation: Löschung von Datensätzen einer Tabelle eines Verbindungsservers in SQL Server 2008 Problem: die Syntax :-) aber im Grunde nicht anders als "normal", sieht nur etwas komisch aus:

DELETE OPENQUERY([LinkedServer],

'SELECT * FROM adm.LinkedServertable')

FROM OPENQUERY([LinkedServer],

'SELECT id FROM adm. LinkedServertable' ) as linked

LEFT OUTER JOIN dbo.Kunden on Kunden.id = linked.id

where linked.id is null

 
%AM, %10. %497 %2012 %10:%Feb

Team Foundation Server Warteschlange hängt

Artikel bewerten
(0 Stimmen)
Weder von vom VS noch per http://TFSServer:8080/tfs/ war ein Zugriff möglich. In der TFS Adminverwaltung war meine teamprojektsammlung offline und im Wartungsmodus. Warum weiss nur Gates persönlich. Gut, soll wohl so sein, allerdings war am nächsten Tag die ominöse Wartung nicht beendet. Jeglicher versuch den TFS neu zu starten oder den Wartungsmodus zu beenden schlug fehl. Detach oder Attach fügten sich nur nachtrgäglich in die Warteschlange ein. Ein Versuch zum Beispiel mit TFSServiceControl unquiesce schlug fehl, lieferte aber auch eine Fehlerquelle: "Zuordnung von Kontonamen wurde nicht durchgeführt". Ich habe dann einfach das kennwort aktualisiert und das Konto neu zugeordnet, dann lief alles wieder einwandfrei. Hoffe mal im Live-Betrieb kommt sowas nicht vor :-(
Seite 5 von 8