Visual Studio
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...
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 ...
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:
...
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.
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
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)
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..
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...
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
...
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.
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...
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...
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.
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.
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...
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...
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.