Visual Studio

Platzhalter im FCKEditor einbauen und mit Linq bestimmte Tags in HTML finden, bearbeiten oder ersetzen.

In einem ASP.NET CMS habe ich eine Möglichkeit gesucht in einem FCKEditor diverse Platzhalter in Artikel-Tex einzusetzen, die später dann durch aktuelle Inhalte und Werbung ersetzt werden könne.   Am schönsten wäre es natürlich, wenn es auch im Editor bereits angezeigt wird um zu sehen, wie der Text um den potentiellen Inhalt läuft.   Die API des FCKEditors möchte ich nicht anfassen also muß iich mit vorhandenen Mitteln zu Rande kommen.   Trick 1. Um die Größe und Position im Content zu definieren, nehme ich ein image in vergleichbarer Größe (wie das Bild rechts).   Trick 2. Ich definiere mir Styles für den FCKEditor und generiere diese mit einem...

posted @ Wednesday, August 12, 2009 11:28 PM | Feedback (0)

VPN nach Energiesparmodus oder Ruhezustand automatisch wieder herstellen

Ich habe heute wieder meine Recherche aufgenommen um ein VPN automatisch zu verbinden, nachdem der Computer im Ruhezustand oder im Energiesparmodus war. (Inspiriert durch einen Blogeintrag von Bernd Hengelein.) Wenn eine z.B. WLan-Verbindung abbricht (und damit auch das VPN getrennt wird) oder verbunden wird  tritt dieses Ereignis ein. System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged  Mit folgender Routine kann man dann die Connection wieder herstellen  3     Sub startVPN(ByVal ConnectionName as String)   '  4         Process.Start("RasPhone.exe", "-d " & ConnectionName)  5     End Sub Eine sehr einfache Umsetzung einer Consolen-Anwendung (z.B. im Autostart) könnte dann folgendermaßen aussehen: (Zumindest im Debugmodus hat dies problemlos funktioniert)     1 Imports System.Net.NetworkInformation     2      3 Module Module1     4     Sub Main()     5      6         AddHandler NetworkChange.NetworkAvailabilityChanged, _     7                 AddressOf NetworkChange_NetworkAvailabilityChanged     8      9        ...

posted @ Thursday, June 25, 2009 8:50 AM | Feedback (1)

Mein Development Server von VS 2008 wollte nicht mehr...

Mein Development Server von VS 2008 wollte nicht mehr... und gab mir die unten aufgelistete Fehlermeldung zurück. Grund war ein installiertes Update zu .NET Framework 3.5 SP1. Nach Deinstallation des Patch KB958483 ging alles wieder. Methode nicht gefunden: Void System.ServiceModel.Diagnostics.EventLogger.UnsafeLogEvent(System.Diagnostics.TraceEventType, System.ServiceModel.Diagnostics.EventLogCategory, System.ServiceModel.Diagnostics.EventLogEventId, Boolean, System.String[]). Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde. Ausnahmedetails: System.MissingMethodException: Methode nicht gefunden: Void System.ServiceModel.Diagnostics.EventLogger.UnsafeLogEvent(System.Diagnostics.TraceEventType, System.ServiceModel.Diagnostics.EventLogCategory, System.ServiceModel.Diagnostics.EventLogEventId, Boolean, System.String[]). Quellfehler: ...

posted @ Saturday, January 10, 2009 3:06 PM | Feedback (1)

Visual Studio AddIn des Tages

Beim stöbern auf Codeplex bin ich über ein addin für Visual Studio gestolpert, das die Navigation durch den Sourcecode vereinfacht und übersichtlicher macht. Für c# und VB:Source Code Outliner Power Toy Für c# gibt es außerdem noch Koda, das etwas mehr Funktionalitäten hat.  

posted @ Tuesday, December 09, 2008 2:35 PM | Feedback (1)

Web.Config mit XLinq editieren

Imports <xmlns:co="http://schemas.microsoft.com/.NetConfiguration/v2.0"> Class editWebConfig        Public shared Sub updateWebConfig()               Dim PathToWebConfig As String = "d:\www\inetPub\web.config"               Dim webConfig As XDocument = XDocument.Load(PathToWebConfig)                              Dim xNode = From p1 In webConfig.<co:configuration>.<co:connectionStrings>.<co:add> _                                    Where p1.@name = "connectionString_Name_In_Web_Config" _                                    Select p1                              xNode.@connectionString = "Data Source=.\SQLExpress;Initial Catalog=myDatabase;Integrated Security=True"               webConfig.Save(PathToWebConfig)        End Sub End Class  

posted @ Tuesday, September 23, 2008 1:11 PM | Feedback (0)

SQLScript aus Textdatei ausführen

So ein trivialer Vorgang... und trotzdem noch nie gemacht. Wie startet man ein Script in ASP.NET, das man zuvor im management Studio generiert hat. Imports Microsoft.SqlServer.Management.Smo Imports Microsoft.SqlServer.Management.Sdk.Sfc Imports Microsoft.SqlServer.Management.Common [....]  Dim SQL = File.ReadAllText("D:\_stromtip2005\SQLDATA\CreateDependencies.sql") Dim sqlConnectionString As String = "Data Source=.\SQLExpress;Initial Catalog=CMS_2008_ST_DATA_32;Integrated Security=True" Dim conn As New SqlConnection(sqlConnectionString) Dim server As New Server(New ServerConnection(conn)) server.ConnectionContext.ExecuteNonQuery(SQL)

posted @ Sunday, September 21, 2008 3:54 PM | Feedback (0)

Html mit Linq und .NET 3.5 im Codebehind generieren

Jeder kennt es, ab und zu muß man dann doch HTML-Code im ´Hintergrund (z.B. für einen Email-Body) generieren und sückelt sich zu unübersichtlich zu Tode. Mit dem XElement ist das kein Problem. Man schreibt den HTML-Code wie im Markup-Editor und kann sogar Variablen wie im markup einbinden: <%=meineVariable%> Kein hantieren mit Anführungszeichen usw..

posted @ Tuesday, September 09, 2008 7:41 PM | Feedback (0)

Alle Events aus der global.asax.

In Der Global.asax gibt es mehr Events als nur die 4, die standardmäßig in der global.asax aufgeführt sind. Hier ist eine Liste aller mir bekannten Events: Application_Start: Tritt ein, wenn die Application gestartet wird Application_Init: Tritt ein nach _Start Application_Disposed: Tritt ein bevor die Instanz zerstört wird Application_Error: Tritt ein wenn unbehandelte Fehler auftreten. z.B. für Cusom-Errorpage Redirect. Application_End: Tritt ein, wenn die Application beendet wird Application_BeginRequest: Tritt ein, bei jedem Request den ein User macht. Das Session-Objekt ist hier noch nicht verfügbar. Application_EndRequest: Dannach ist der Request vollständig beendet. Application_PreRequestHandlerExecute: Unmittelbar dannach wird die Page oder der Webservice durch den ASP.Net handler  initialisiert. Das Sessionobjekt ist hier bereits verfügbar Application_PostRequestHandlerExecute: Nach dem ausführen des...

posted @ Tuesday, September 09, 2008 6:58 PM | Feedback (0)

SQL Server 2008 February CTP und Visual Studio 2008 Support

Gestern hat MS eine neue SQLServer 2008 CTP veröffentlicht: Download the SQL Server 2008 February CTP as a .iso file or as an executable. Download the SQL Server 2008 Books On Line. Download the SQL Server 2008 Feature Pack CTP. Download the tools support for Visual Studio: Visual Studio 2008 Support for SQL Server 2008 Visual Studio 2005 Support for SQL Server 2008 ...

posted @ Wednesday, February 20, 2008 11:24 AM | Feedback (0)

Screencast zu Debugging Symbols in Visual Studio 2008

Das der Sourcecode des .NET Frameworks inzwischen für das debuggen in Visual Studio zur Verfügung steht hat sich inzwischen herumgesprochen. Daniel Moth hat nun auf Channel9 einen Screencast veröffentlicht, der die Installation und die mögliche Nutzung des Features in 15:00 Minuten zeigt.

posted @ Friday, January 18, 2008 9:28 AM | Feedback (0)

Klammern in C# mit deutscher Tastatur

nach dem ich in letzter Zeit fast nur noch in c# entwickle, stört es mich auch mehr und mehr das die ständig benötigten Klammern auf der deutschen Tastatur relativ kompliziert zu erreichen sind. Die Lösung ist, sich ein neues Macro-Project anzulegen und in den Options von Visual Studio die entsprechenden Methoden mit einem Keycode zu versehen. (Die Methoden der Macros erscheinen dort unter Macros.ModulProjectName.ModulName.MethodName) Bei mir ist ab sofort:    Ctrl + ö            => {    Ctrl + ä            => }    Ctrl + Shift + ö  =>[    Ctrl + Shift + ä  =>] und hier der Code für das Macro Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports System.Diagnostics Public Module Module1          Sub...

posted @ Wednesday, January 16, 2008 3:41 PM | Feedback (0)

SQLDatasource und Anzahl der SQL-Server abfragen

Thomas Beckert hatte heute auf glengamoi.com das Problem, dass er bereits im Page_Load(ASP.NET) ein DataBind eines Repeaters durchführen musste. Die Frage kam auf, ob dies dazu führt, dass die SQL-Abfrage evtl. mehrmals zum MSSQL geschickt wird. Das wollte ich nun genau wissen. In den Leistungstools des SQL-Servers gibt es den SQL Server Profiler mit dessen Hilfe man alle Aktivitäten und Abfragen auf dem SQLServer überwachen kann. Die Antwort ist: Beim einem Standard Aufruf macht dies keinen Unterschied. D.h. auch wenn im Page_Load ein Gridview1.DataBind() aufgerufen wird, wird nur eine Abfrage zum SQL-Server gesendet. Die Abfrage wird unmittelbar vor dem...

posted @ Monday, January 14, 2008 7:32 PM | Feedback (0)

Webcasts zu .NET 3.5,System.Addin und Visual Studio 2008

Dariusz Parys zeigt in zwei Webcasts die Neuerungen von Visual Studio 2008 und .NET Framework 3.5. Beide Videos finde ich sehr empfehlenswert für alle, die sich bisher noch nicht wirklich damit beschäftigt haben welche Neuerungen es gibt. Im zweiten Video über .NET 3.5 ist der Focus auf die Neuerungen des System.Addin Namespaces. Sehr kompakt wird die Architektur anhand eines Samples demonstriert. Wer sich für System.AddIn interessiert sollte sich auch unbedingt bei Codeplex den PipelineBuilder (Addin für Visual Studio) herunterladen und ebenfalls das 15 Minuten How To Video von Darius anschauen. Das Video zeigt in Record-Geschwindigkeit die Erstellung einer vollständigen Anwendung mit Addin-Interface.  

posted @ Friday, January 11, 2008 2:17 PM | Feedback (0)

KeyCode des Tages

Jeder kennt es: Beim Coden fehlt ein Namespace. Visual Studio versucht den passenden Namespace zu finden und stellt am Ende des Wortes ein kleines braunes Rechteck dar. Wenn man da mit der Mouse draufklickt, werden die vermuteten Namespaces angezeigt und können ausgewählt werden: Der Keycode dafür ist  Strg + . (Punkt) oder Shift + Alt + F10 und kann in den Options von Visual Studio unter View.ShowSmartTag angepasst werden.        

posted @ Thursday, January 10, 2008 5:50 PM | Feedback (2)

Script#

In Scott Guthrie's Blog habe ich in den Jan 4th Links einenen Hinweis auf ein Script#-Update gefunden. Aber was ist Script#? Der Script#-Compiler von  Nikhil Kothari erlaubt es Code in C# zu entwickeln und Javascript als Ergebmis zu erhalten. Sicher interessant für jeden der firm in C# ist und mehr und mehr eigene Ajax-Funktionalitäten benötigt. Ein weiterer Vorteil ist sicherlich das C# Intellisense von VisualStudio Beispiel: using System; using ScriptFX; using ScriptFX.UI; namespace HelloWorld {     public class HelloWorldScriptlet : IScriptlet {         private Button _okButton;         private TextBox _nameTextBox;         private Label _helloLabel;         private XMLHttpRequest _request;         public void Start() {             _okButton = new Button(Document.GetElementById("okButton"));             _nameTextBox = new TextBox(Document.GetElementById("nameTextBox"));             _helloLabel = new Label(Document.GetElementById("helloLabel"));             _okButton.Click...

posted @ Friday, January 04, 2008 5:24 PM | Feedback (0)

Basics in ASP.NET

Bei glengamoi.com komen eigentlich immer wieder Fragen zu den Basics in ASP.NET. Da auch ich mal angefangen habe, will ich hier mal ein paar Links für Beginner zusammenfassen. Bestes Forum: glengamoi.com :-) Für Anfänger aber auch für Fortgeschrittene sind die Webcasts und HowTo-Videos von Microsoft sehr empfehlenswert und haben bei mir auch nach Jahren .NET-Programmierung noch das eine oder andere AHA hervorgelockt. ASP.NET / Learn (englisch) Webcasts von Microsoft in deutsch Webcasts und Events von Microsoft und Suche nach Webcasts Silverlight und WPF (sehr...

posted @ Tuesday, December 18, 2007 3:25 PM | Feedback (2)

Versionsnummer des Build in Visual Studio automatisch erhöhen

Unglaublich, dass man in Visual Studio 2008 nirgends einstellen kann, dass die Fileversion automatisch bei jedem Build erhöht wird. Die Lösung gibts auf Codeproject.

posted @ Saturday, December 15, 2007 1:24 PM | Feedback (0)