.NET

Flash To Silverlight Converter

http://www.silverx.net/

posted @ Saturday, April 17, 2010 10:56 AM | Feedback (0)

ROW_NUMBER() in einem Update Statement //MSSQL

Um In einer Tabelle eine durchnummerirte Spalte  einzufügen kann man folgende Anweisung nutzen: Alter Table [Table1] add ID_ int Go WITH TMP1 AS (  SELECT [ID_] ,ROW_NUMBER()over(order by Feld1,Feld2)  as Seq  FROM Table1  ) UPDATE TMP1 SET [ID_] = Seq

posted @ Monday, October 19, 2009 12:11 PM | Feedback (3)

MSSQL - Alle Tabellen in einer Datenbank auflisten

Hier ein SQL-Code, mit dem man alle Tabllen einer DB auflistet und die Anzahl der Felder, der Datensätze  sowie die Größe der Daten auflisten kann: CREATE TABLE #temp (table_name sysname ,row_count INT,reserved_size VARCHAR(50), data_size VARCHAR(50),index_size VARCHAR(50),unused_size VARCHAR(50)) SET NOCOUNT ON INSERT #temp EXEC sp_msforeachtable 'sp_spaceused ''?''' SELECT a.table_name,a.row_count,COUNT(*) AS col_count,a.data_size FROM #temp a INNER JOIN information_schema.columns b ON a.table_name collate database_default= b.table_name collate database_default GROUP BY a.table_name, a.row_count, a.data_size ORDER BY CAST(REPLACE(a.data_size, ' KB', '') AS integer) DESC DROP TABLE #temp

posted @ Wednesday, September 30, 2009 9:44 PM | Feedback (2)

Generic List(Of ClassName) im Repeater

Manchmal ist es ganz praktisch eine Generic List im Repeater zu nutzen. Mit <%# eval("Parameter")%> kommt man aber nicht weit. Mit <%# Container.DataItem.Value1 %>aber schon: Public Class ClassName      Public Value1 As String      Public Value2 As String End Class Dim Listname As New List(Of ClassName) Dim Item1 As New ClassName Item1.Value1 = "TestValue1" Item1.Value2 = "TestValue2" Listname.Add(Item1) Repeater1.DataSource = Listname Repeater1.DataBind()   <asp:Repeater ID="Repeater1" runat="server">    <ItemTemplate>          <%#Container.DataItem.Value1%>    </ItemTemplate> </asp:Repeater>

posted @ Thursday, August 27, 2009 4:51 PM | Feedback (0)

Das Debugging kann auf dem Webserver nicht gestartet werden. Die Objektkennung gibt kein gültiges Objekt an. (Ausnahme von HRESULT: 0x800710D8)

Ein dummer Fehler beim Konfigurieren führte dazu, daass das debuggen mit IIS7 und VS2008 nicht mehr funktionierte. Sicherlich gibt es noch andere Ursachen für den Fehler... grundsätzlich fehlt die Windowsauthentifizierung. Bei mir half das Folgende:   Windows-Authentifizierung muß aktivert sein!  

posted @ Thursday, August 27, 2009 8:40 AM | Feedback (0)

Ausnahme von HRESULT: 0x80070057 (E_INVALIDARG)

Der Launchtermin rückt näher... höcchte Zeit für Problemme auf dem Entwicklungsserver. Der Speicher scheint einen Fehler zu haben und nötigt Windows 2008 Server zu unvermittelten Abstürzen. Das zu ertragen ist zwar nicht schön, aber da es nur 1 Mal täglich ist, ist die Zeit für Nachforschungen nicht da. Nach so einem Absturz heute, bekam ich untenstehende Fehlermeldung auf der Website. Auch das vielfach empfohlene reparieren des .NET Framework und löschen der Dateien in C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files half leider nichts. ABER: Das Anlegen einer neuen Website im IIS7 mit dem selben Verzeichnis, lies die Website wieder funktionieren. Also vermutlich irgendwas von den Metadaten im IIS verloren gegangen....

posted @ Saturday, August 22, 2009 2:38 PM | Feedback (0)

Fulltext-Search in SQLExpress aktivieren

Wenn man im SQL Management Studio eine SQLExpress Datenbank verwaltet, dann werden die Volltextfeatures und Dialoge nicht angezeigt. Dennoch sind sie aber vollständig vorhanden und nutzbar. --- Erst einen Katalog erstellen CREATE FULLTEXT CATALOG [TestKatalog] WITH ACCENT_SENSITIVITY = OFF --- Die Tabelle dem erstellten Katalog zuordnen und den PrimaryKey --- (hier [PK_CMS_Key]) angeben FULLTEXT INDEX ON [dbo].[CMS_Tabellenname] KEY INDEX [PK_CMS_Key] ON ([TestKatalog]) WITH (CHANGE_TRACKING AUTO) Go --- die Spalten hinzufgen, die im Index enthalten sein sollen ALTER FULLTEXT INDEX ON [dbo].[CMS_Tabellenname]  ADD ([Body],[Headline] LANGUAGE [German]) Go --- und das Ganze aktivieren ALTER FULLTEXT INDEX ON [dbo].[CMS_Tabellenname] ENABLE --- Warten bis der Index erstellt ist (der Taskmanager geht --- dabei...

posted @ Sunday, August 16, 2009 10:42 AM | Feedback (0)

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)

xmlns Namespace in Linq und Datenimport nach SQLServer //mit VB.NET

Eigentlich hatte Martin Hey genau im richtigen Moment seinen Post zum Thema veröffentlicht.   Aber dann fiel mir ein, dass wenn es einen Vorteil von VB.NET gegenüber c# gibt, dann ja wohl im XML-Bereich.   Ein Imports am Kopf der Seite reicht um den Namespace Global einzufügen. Das Ganze gepaart mit einem InsertAllOnSubmit habe ich in ein paar wenigen Zeilen alle Categories aus meinem XML-Dokument in die Datenbank importiert.         1 Imports <xmlns="http://www.ticketonline.de/ticketonlineevents/1.0">     2 Imports <xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">     3      4 Partial Class LoadTicketOnline     5     Inherits System.Web.UI.Page     6      7     Protected Sub Page_Load(ByVal sender As Object, _     8                             ByVal e As System.EventArgs) Handles Me.Load     9     10         Dim...

posted @ Thursday, July 30, 2009 5:46 PM | Feedback (0)

Single-Sign-On mit ASP.NET

In seinem Artikel Building a Single Sign On Provider Using ASP.NET and WCF zeigt Mark J. Miller in 4 Teilen, wie man mit Hilfe von JASONP  ein Single Sign on implementieren kann.  

posted @ Thursday, July 09, 2009 8:52 AM | Feedback (0)

14 Javascript Resources zum Generieren von Charts

OOYES.NET hat 14 Javasceript -Resources zusammengefasst, mit den man Charts in Javascript generieren kann. Von umsonst bis kostenpflichtig. Ein kurzer Blick lohnt auf jeden Fall OOES.NET beschreibt diese noch kurz mit kleinen Screenshots: http://ooyes.net/resources/14-javascript-resources-and-plugins-for-creating-a-stylish-chart   Die folgenden Links sind nur zu meiner Dokumentation:   Creating accessible charts using canvas and jQuery Emprise JavaScript Charts Flot ...

posted @ Wednesday, July 08, 2009 7:31 AM | Feedback (0)

DeepZoom mit jQuery und ASP.NET //en

;kick it on dotnet-kicks.de  posted @ Monday, July 06, 2009 5:57 PM | Feedback (0)

DeepZoom mit jQuery und ASP.NET

Für eine Image-Gallery in in einem Community-Projekt, habe ich mir eine Lösung mit jQuery erstellt, um Bilder online zu bearbeiten. Also hauptsächlich  Resize und Cropping. Dabei enstand als kleines Nebenprodukt eine Lösung, bei der man einen Deepzoom auf große Bitmaps machen kann. Eine einfache Version davon habe ich hier mal online gestellt: DeepZoom mit jQuery Download als ASP.NET - Website Das verwendete Bild auf dem Server ist 7MB groß und...

posted @ Monday, July 06, 2009 3:22 PM | Feedback (3)

Crop und Resize Image mit ASP.NET - zum letzten Mal!

Ich mache das ja schon lange.... und ich habe auch schon einiges mit Bildern zu tun gehabt. Aber jedes mal wieder fummele ich mir aus alten Codes oder dem Internet die Funktionen für Größenveränderungen heraus. Meist sind diese (vor allem bei gegoogelten Beispielen) gespickt mit Spezialfunktionalität. Diesemal habe ich mir die Mühe gemacht - ein für alle Mal - drei Funktionen zu generieren, die sowohl Cropping, Resizing oder aber beides gleichzeitig in bestmöglicher Qualität zu liefern. Und da ich meißt nur ein Stream oder Byte() benötige, bekomme ich as Rückgabewert auch ein MemoryStream. Diesen kann ich in die Datenbank schieben oder per BinaryWrite direkt ausgeben.      1 Imports...

posted @ Sunday, July 05, 2009 10:45 AM | Feedback (2)

Mittels XElement den HTMLCode validieren

Beim Entwickeln einer Webplattform macht man ja gerne den einen oderanderen HTML Fehler. Auch wenn mir das immer seltener passiert, ist es dennoch schön wenn man gleich Probleme mittels Holzhammermethode mitgeteilt bekommt. Bekanntlich kann man in Page Render den HTML-Code abgreifen. Wenn man daraus ein XElement generieren kann, ist der Code zumindest schon mal valiedes XML. Wenn dies nicht funktioniert lasse ich mir die Fehlemeldung ausgeben und kann de Fhler gleich korrigieren. Kleiner Nebeneffekt: Der HTML-Code ist absolut perfekt eingerückt und die Struktur klar ersichtlich, auch wenn man viele Usercontrols zusammensteckt. Ob man dies in einer Live-Website einsetzt ist sicherlich fraglich.     1      2 Partial Class _Default     3     Inherits System.Web.UI.Page     4      5      6      7     Protected Overrides...

posted @ Friday, July 03, 2009 12:26 PM | Feedback (0)

jQuery vs. Ajax Toolkit

Wer heutzutage Webentwicklung macht , kommt um Ajax und größeren Javascript-Steuerungen beim Client nicht mehr herum. Da gibt es vieles umsonst, wie das MS-Ajax und Ajax-Toolkit , jQuery, devexpress usw. aber auch teure umfangreiche Lösungen wie die von Componentart, Telerik usw. Im Grundsatz haben alle ihre Vor- und Nachteile. Was alle gemeinsam haben, ist das man bei keiner dieser Lösungen einfach starten kann bevor man nicht die 2-Tage Fummelarbeit hinter sich gebracht hat. Aber schließlich bekommt man ja auch umfangreiche Libraries die meißt auch plattform- und browserübergreifend Funktionalitäten bieten. Aber mit was startet man nun? Die Tendenz in den letzten Jahren geht klar zu jQuery. Was bei...

posted @ Friday, June 26, 2009 8:14 AM | Feedback (4)

Session verwalten bzw. Wildwuchs in Bezeichnungen eindämmen

In meinen Webprojeten benutze ich natürlich auch immer wieder Session-Variablen, die dann wiederum an anderer Stelle abgerufen werden. Abgesehen von möglichen Schreibfehlern, bin ich auch imer wieder auf der Suche nach der richtigen Bezeichnung. Die wichtigsten lagere ich jetzt in eine kleine Klasse aus:       1 Public Class Properties     2     Public Enum VariableName     3         UserID = 1     4         UserName = 2     5         'usw.     6     End Enum     7      8     Public Shared Property Session(ByVal name As VariableName) As Object     9         Get    10             Return HttpContext.Current.Session _    11                     ("adjustment.properties.session." & name.ToString)    12         End Get    13         Set(ByVal value As Object)    14             HttpContext.Current.Session _    15                     ("adjustment.properties.session." &...

posted @ Thursday, June 25, 2009 10:09 AM | 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)

Dotnetage - jQuery ganz einfach in Web Controls

Beim Stöbern auf CodePlex bin ich über das opensource Projekt "DotNetAge jQuery" gestoßen und bin mehr als angetan. DotNetAge ermöglicht es jQuery Features in Webcontrols zu nutzen (beispielsweise kann jedes Control mit Resize versehen werden) und bietet aber auch eine ganze Reihe von Webcontrols die Features wie Accordion, Dragpanels usw. direkt bieten. Für jQuery-Plugins gibt  es ebenfalls eine Möglichkeit, diese einzubinden. Sehr gut gelöst und auch nach Stunden des herrumspielens bin ich immernoch angetan von der Lösung. Schöner Mix zwischen voller Funktionalität von jQuery und der Einfachkeit für tägliche Standardanwendungen. [Die Bilder sind von der Website DotNetAge]      

posted @ Sunday, June 14, 2009 6:54 PM | Feedback (0)

HierarchyID in LinqToSQL oder Entity-Framework nutzen // MSSQL Server 2008

Leider gibt es noch keinen Weg, in LinqToSQL oder Entity Framework den neuen Datentyp HierarchyID in MSSQL-Server 2008 zu nutzen. (Microsoft am 12.5.2009) Da der Datentyp sehr praktisch, schnell und immer wieder Hierarchien bei Kommentaren, Menüstrukturen usw. auftreten, will ich ihn natürlich trotzdem nutzen. Hierfür erstelle ich erst einmal eine Tabelle, die eine ContentID enthät, welche die Integer-ID meines Contents enthält, die HierarchyID natürlich und eine assoziationTypeID, da ich diese Tabelle für unterschiedlichen Content nutzen möchte. CREATE TABLE [dbo].[t_C_ContentHierarchy](     [d_C_ContentHierarchyID] [int] IDENTITY(1,1) NOT NULL,     [d_ContentID] [int] NOT NULL,     [d_hierarchyID] [hierarchyid] NOT NULL,     [d_I_assoziationTypeID] [int] NOT NULL,  CONSTRAINT [PK_t_C_UserContentHirarchy] PRIMARY KEY CLUSTERED (     [d_C_ContentHierarchyID] ASC )WITH (PAD_INDEX  = OFF,...

posted @ Sunday, May 31, 2009 10:37 AM | Feedback (0)

Escape-Zeichen aus Zope-Export - unescape \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 python

In einem Datenexport aus Zope fand ich diverse Escape-Zeichen für alle Sonderzeichen. Offensichtlich HEX-Codiert mt einem \x vorab. Also für ö ein \xf6 usw. Die Suche nach Listen für ein globales Replace gab ich recht schnell auf und generierte meine eigene Liste:  ...

posted @ Monday, May 11, 2009 11:14 AM | Feedback (0)

Was ist eigentlich nVarChar(MAX)

In SQL Server 2000 darf eine Rownicht mehr als 8000 Bytes groß sein. Das bedeutete auch, dass ein Feld max. 8KB gross sein darf, sofern es das einzige Feld ist, dass abgefragt wurde. Eine varchar Spalte darf max 8KB und eine nVarcharSpalte max 4KB groß sein(2 Byte pro Unicode-Zeichen) sein. Um mehr Daten in einer einzigen Spalte zu speichern gibt bzw. gab es NTEXT, oder Bild-Daten-Typen (BLOBs). Nachteil, dass deiese Felder nicht wie üblich in Abfragen verwendet werden können. Um dieses Problem zu lösen, wurden VARCHAR (MAX), NVarChar (MAX), und VARBINARY (MAX) Datentypen in SQL Server 2005 eingeführt.  Diese Daten können über die gleiche Menge von Daten...

posted @ Thursday, April 30, 2009 1:33 PM | Feedback (0)

Textmode Multiline und Maxlength per Javascript festlegen:

Wenn man eine ASP.NET Textbox im Textmode="Multiline" erstellt, funktioniert dummerweise Maxlength nicht, da die HTML-Textarea das nicht unterstützt. Hier ist die passende Javascript-Function und der VB-Code dazu.  Um das Feature später einfac h ändern zu können, suche ich erst alle Textboxen innerhalb eines Panels und aktiviere entsprechende onChange und onKeyDown Events.       1     Sub setMaxlength()     2         For Each ctl As Control In Panel1.Controls     3             If ctl.GetType Is GetType(TextBox) Then     4                 Dim myTextbox As TextBox = ctl     5                 If myTextbox.TextMode = TextBoxMode.MultiLine _     6                     AndAlso myTextbox.MaxLength > 0 Then     7      8                     myTextbox.Attributes.Add("onChange", _     9                    ...

posted @ Wednesday, April 29, 2009 2:13 PM | Feedback (0)

Mit Linq Strings über mehrere Zeilen einfach im Quellcode hinterlegen.

Jeder kennt das Problem... Man hat einen formatierten String und möchte diesen im Code verwenden. zwei Möglichkeiten.... entweder man stückelt Ihn über mehrere Zeilen zusammen oder man macht eine gaaaaanz lange Zeile daraus. Beides ist unbefriedigend und mühsam. Gestern habe ich nun das XElement dafür entdeckt :     1         Dim SQL As New XElement(<root>     2      3                         SELECT  CMS_Artikel.Dachzeile,     4                                 CMS_Artikel.DateFrom,     5                                 CMS_Artikel.CreateDate,     6                                 User_User.RealName,     7                                 CMS_Artikel.ArtikelID     8                         FROM    CMS_Artikel...

posted @ Wednesday, April 29, 2009 2:01 PM | Feedback (3)

Cookies und Encoding zum hundertsten Mal => String to Base64 und Base64 to String

Und mal wieder habe ich Probleme auf einem Server Umlaute in Cookies zu speichern bzw. zu lesen. Die Tipps sind vielfältig und variiren von Server.URLDecode bis hin zu Globalization Eiträgen in der Web.Config.   Diesmla half gar nichts... Deswegen werden die CookieInformationen ab sofort Base64-codiert. Damit hat sich das Thema - hoffentlich String to Base64   1     Dim base64String As String = _                  Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("äüö$$"))     2      3   Dim c As New HttpCookie("testCookie")     4         c("value") = base64String     5         Response.Cookies.Add(c)     6      7 Base64 to String     9   Dim base64FromCookie As String = _                                 Request.Cookies("testCookie").Values("value")    10     11   Dim standardString As String = _            Text.Encoding.UTF8.GetString(Convert.FromBase64String(base64FromCookie))    12     13         Response.Write(standardString)

posted @ Monday, April 27, 2009 5:53 PM | Feedback (0)

XPath in Linq verwenden

Wer bereits mit XML gearbeitet hat und XPath-erfahren ist möchte dies evtl. auch mit xLinq nutzen. Hierzu benötigt man den Namespace System.XML.XPath der dann diverse Extension-Methods bereitstellt:     3 Imports System.Xml.XPath [...]    147 Dim list As IEnumerable(Of XElement) _               = xdoc.XPathSelectElements("//Node1/Node2/Node3[Attribut1='Value1']")

posted @ Thursday, April 23, 2009 3:31 PM | Feedback (0)

VPN-Verbindung mit .NET starten

[edit 25.6.2009] Hier ist eine Lösung um ein VPN verbinden nach unterbrochener Netzwerkverbindung (mit .NET) oder um eine VPN verbinden nach Energiesparmodus(mit .NET) [/edit 25.6.2009] Um eine VPN-Verbindung mit .NET starten genügt ein Einzeiler. Vorraussetzung ist, dass das Kennwort gespeichert ist und die Abfrage deaktiviert. Wobei myVPN_Connection der Name der Verbindung unter Windows ist:         1 Module Module1     2      3     Sub Main()     4         Process.Start("RasPhone.exe", "-d myVPN_Connection")     5     End Sub     6      7 End Module

posted @ Wednesday, April 22, 2009 6:32 PM | Feedback (0)

LinqToSQL- Ergebnis oder Linq-Object nach XML konvertieren

In einem Bestellsystem für Stromverträge kann ein User aus einer Ergebnisliste eine Bestellung auslösen. Die Linq-Abfrage hierzu ist mehr als komplex und die Werte in den verbundenen Tabellen werden in verschachtelten Repeatern auf der Website dargestellt. Da wöchentlich die Datenbank ausgetauscht wird, möchte ich gerne im System die Daten aus dem Ergebnis hinterlegen. Dummerweise ist ein LinqToSQL-Ergebnis nicht serialisierbar. Im Netz  habe ich auch nichts gefunden und mir meine eigene rekursive Methode gebastelt: Sicherlich noch verbesserungsfähig... aber für das aktuelle Problem austreichend.    01     Imports System.Reflection    11     12     Public Function getXElementFromLinqObject(ByRef RootElement As XElement, _    13                                          ByVal DataObject As Object) As...

posted @ Wednesday, April 22, 2009 5:30 PM | Feedback (2)

Page_Load automatisch bei neuen Webforms einfügen

Fast jedes Mal, wenn ich ein neues Webform erstelle, füge ich ein Page_Load-Handler ein. Im Verzeichnis C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplatesCache\Web\VisualBasic\1033  liegen die Vorlagen für dei neuen Objekte. Einfach in die Codebeside Datei den nötigen Eintrag machen und ab sofort ist der Handler vorhanden.  

posted @ Monday, April 20, 2009 1:45 PM | Feedback (0)

HTTP Wildcardmapping im IIS 7

Um Wildcardmapping im IIS7 zu ermöglichen, muss ein Sperre aufgehoben werden. Folgenden Befehl in einer Console ausführen und die Sache ist erledigt: C:\Windows\System32\inetsrv\appcmd.exe unlock config /section:system.webserver/handlers Und dann muß noch die <modules> Section angepasst werden bzw. ein Attribut hinzugefügt werden: <modules runAllManagedModulesForAllRequests="true" >

posted @ Friday, April 03, 2009 6:51 PM | Feedback (2)

Websites in ASP.NET - Fallstudien in ASP.NET

Hier ein paar Websites, die in ASP.NET programmiert sind: www.myspace.de www.monster.com www.match.com http://www.handelsblatt.com http://www.faz.net http://www.immowelt.de www.bmwgroup.com www.lego.com  www.dell.com www.xerox.com www.ebay.com   http://www.buy.com  Weitere Fallstudien auf Microsoft.com http://www.microsoft.com/casestudies/search.aspx?Keywords=ASP.NET http://msdn.microsoft.com/en-us/asp.net/aa336563.aspx       

posted @ Friday, March 27, 2009 5:29 PM | Feedback (0)

Im SqlMembershipProvider den Applictionname auf den Hostname setzen

Ich habe eine Anwendung, die die entsprechende Contentdatenbanken jeweils per Hostname auswählt. Da ich prinzipiell den SqlMembershipProvider nutze, möchte ich wenn möglich, den Applicationname des Mebershipproviders entsprechend anpassen. Hier ist der entsprechende Providder dazu: Imports System Imports System.Web Imports System.Data Imports System.Configuration Imports System.Collections Imports System.Web.Security Imports System.Collections.Specialized Imports System.Data.SqlClient Class myMembershipProvider     Inherits System.Web.Security.SqlMembershipProvider     Public Overrides Property ApplicationName() As String         Get             Return HttpContext.Current.Request.Url.Host         End Get         Set(ByVal value As String)             MyBase.ApplicationName = HttpContext.Current.Request.Url.Host         End Set     End Property   End Class

posted @ Friday, March 27, 2009 2:09 PM | Feedback (0)

Website "am Leben" erhalten

Wenn man mit seiner .NET Website bei einem Hoster ist, wird in der Regel nach 20 bis 60 Minuten die Website "heruntzergefahren", was leider beim Neustart je nach Umfang des Projektes zu längeren Wartezeiten führt. Eine Lösung wäre, die Website von einem anederen Server aus anzupingen um regelmäßige Requests durchzuführen. Aber wenn man mit seinem Web beim Hoster ist, hat man normalerweise diese Möglichkeiten nicht zur Verfügung. Die Lösung: Ein Timer in der global.asax fragt regelmäßig die  eigene Website ab. Funktioniert zwar nicht direkt nach einem Reboot des Servers oder restart des IIS aber wenn dann eine Abfrage genmacht wurde, hätlt es immerhin bis...

posted @ Tuesday, February 17, 2009 10:34 AM | Feedback (4)

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)

Control ermitteln welches den Postback ausgelöst hat

Mit der folgenden Funktion kann man ermitteln, welches Control einen Postback ausgelöst hat.    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load                Response.Write(getPostBackControl.ID)     End Sub  Private Function getPostBackControl() As Control          Dim ctlM As Control = Nothing         Dim ctl_Name As String = Page.Request.Params("__EVENTTARGET")         If ctl_Name IsNot Nothing AndAlso ctl_Name <> "" Then             ctlM = Page.FindControl(ctl_Name)         Else             Dim cx As Control = Nothing             Dim ctrlStr As String = ""             For Each ctl As String In Page.Request.Form                 If ctl.EndsWith(".x") OrElse ctl.EndsWith(".y") Then                     ctrlStr = ctl.Substring(0, ctl.Length - 2)                     cx = Page.FindControl(ctrlStr)                 Else                     cx = Page.FindControl(ctl)                 End If                 If TypeOf cx Is System.Web.UI.WebControls.Button _                        ...

posted @ Tuesday, December 09, 2008 2:00 PM | Feedback (0)

LINQ-to-SQL versus ADO.NET Entity Framework

Wer sich sich die beiden Frameworks genauer anschaut stellt sich recht schnell die Frage, wieso braucht man beides... Auf der Technical Summit in Berlin mit einem gleichnamigen Vortrag bekam ich die Antwort dazu: Die beiden Entwicklerteams haben nichts von einander gewußt und es wurde doppelt entwickelt. (siehe auch) Im Detail wurden zwar auch die Vor- und Nachteile der einzelnen Umsetzungen im Detail erklärt, um abschließend kund zu tun, dass Linq-To-Sql zwar weiter "weiter unterstützt" wird, aber das Team bereits nicht mehr existiert. Eine weitere Entwicklung findet sozusagen nicht mehr statt. Das Entity Framework dagegen hat zwar im Moment noch nicht ganz so viele Features, was sich allerdings...

posted @ Wednesday, December 03, 2008 8:56 PM | Feedback (2)

Web.Config für die Verwendung von Linq erweitern

Um in einer ASP.NET Website Linq verwenden zu können müssen neben der Umstellung auf .NET 3.5 auch noch folgende Eiträge in der Web.Config gemacht werden: <system.web>        <compilation debug="true">               <assemblies>                       <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />                      <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />               </assemblies>        </compilation>        <pages>            <namespaces>                  <add namespace="System.Linq" />                  <add namespace="System.Data.Linq" />                  <add namespace="System.Xml.Linq" />             </namespaces>        </pages> </system.web>   

posted @ Wednesday, October 29, 2008 6:08 PM | Feedback (0)

Der Name __o wurde nicht deklariert. // Error Name '__o' is not declared.

Immer wieder die große Frage, was diese Fehlermeldung bedeutet. Nach wie vor habe ich dafür keine Erklärung und auch bisher keine negativen Auswirkungen gemerkt. Nichtsdestotrotz füllt es immer wieder die Fehlerliste in ASP.NET Projekten. Ein Workaround hierfür ist folgendes Modul im App_Code-Verzeichnis: Public Module myModule       Public __o As Object End Module ;-) Das ich da nicht früher drauf gekommen bin.

posted @ Tuesday, October 28, 2008 11:20 AM | Feedback (0)

HTML-Code verkleinern

Im DSL-Zeitalter scheint es nicht mehr so wichtig zu sein ob die Seite nun 50KB oder 100KB HTML-code hat. Aber auch mit DSL ist ein Unterschied von 30KB deutlich zu spüren. Mit ASP.NET verwendet man in der Regel viele Controls. Das führt meißt dazu, dass viele leere Zeilen und unötige leerzeichen den Code vergrößern. Mit folgendem Code können diese entfernt werden: Protected Overrides Sub Render(ByVal output As HtmlTextWriter)          Dim sb As StringBuilder = New StringBuilder          Dim sw As StringWriter = New StringWriter(sb)          Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)          MyBase.Render(htw)          Dim PageHTML As String = sb.ToString()          PageHTML = PageHTML.Replace(vbTab, " ")          While PageHTML.Contains(" ")                  ...

posted @ Tuesday, September 30, 2008 10:39 AM | Feedback (0)

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)

Prüfen ob eine Emailadresse existiert

Im Zeitalter der Spamflut, geben auch die User Ihre Emailadresse nicht mehr an, wenn sie danach gefragt werden. Mit der unten aufgelisteten Class EmailCheck kann man genau das prüfen. Im Prinzip, ermittelt die Klasse den MX-Record der UserDomain und macht ein Helo am Mailserver und teilt dem Mailserver mit, dass wir eine Email für eine bestimmte Emailadresse haben. Existiert die Adresse nicht oder ist die Mailbox voll usw., so lehnt der Mailserver an dieser Stelle die Annahme ab und wir wissen, dass mit der Adresse etwas faul ist. Lehnt der Mailserver an dieser Stelle die Annahme NICHT ab, so ist die Adresse...

posted @ Saturday, July 12, 2008 6:40 PM | Feedback (0)

Microsoft Sync Framework

Mit Visual Studio 2008 wurden auch die Assemblies des ADO.NET Sync Services installiert. Mit Hilfe dieser API lassen sich (z.B. mobile) Anwendungen die nicht ständig mit der Datenbank verbunden sind einfach mit dem Server syncronisieren. Mit Hilfe eines Assistenten kann man innerhalb weniger Minuten alle notwendigen Routinen und Trigger zur Aktualisierung der ClientDatenbank und der ServerDatenbank erstellen. Auf Channel9 ist ein 18 Minuten Video von Daniel Moth für den Schnelleinstig mit dem Microsoft Sync Framework erschienen. Den Assistenten kann man aufrufen in dem man ein neues  Element "Local Database Cache"  hinzufügt. Im Code wird dann nur noch ein "syncAgent.Synchronize();" benötigt um die Synchronisierung durchzuführen.  

posted @ Friday, February 22, 2008 4:10 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)

Enum-Werte auslesen

Mit Hilfe von System Reflection kann man Enumwerte auslesen und entsprechend weiter verarbeiten. using System.Reflection; private enum Fruits {       Orange = 1,       Apple = 2,       Pear=3 } static void Main() {       Type dataType = Enum.GetUnderlyingType(typeof(Fruits));              foreach (FieldInfo field in typeof(Fruits).GetFields(                            BindingFlags.Static | BindingFlags.GetField | BindingFlags.Public))       {             object value = field.GetValue(null);             Console.WriteLine("{0}={1}", field.Name, Convert.ChangeType(value, dataType));        }      Console.ReadLine(); } EDIT: Oder eben einfach mit  Enum.GetValues(Fruits); Enum.GetNames(Fruits); (Danke Dani für den Kommentar!)  

posted @ Thursday, February 14, 2008 10:44 AM | Feedback (2)

Microsoft Web Deployment Tool - Tech Preview 1

  im IIS-Downloadcenter hat Microsoft eine Preview des Web Deployment Tools veröffentlicht. Die Featureliste klingt sehr vielversprechend: Syncronisation zweier Webserver (IIS6 und IIS7) Migration von IIS6 auf IIS7 Analyse der installierten Features auf IIS6 Troubleshooting und Validierungsfeatures (für Syncronisation und Migration) Weiteres im IIS-Downloadcenter und im IIS-Forum.

posted @ Friday, January 25, 2008 1:51 PM | 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)

Wiimote macht Fantasy für Silverlight und WPF

Johnny Chung Lee beschreibt wie man mit Hilfe der Wii-Fernbedienung (gibt es schon für 39€ bei Ebay) und C# DirectX ein Multitouchscreen aus einer Projektion machen kann und wie man sich mit Infrarot-LEDs relativ einfach Lichtstifte basteln kann und ebenfalls mit der Wiimote auswerten kann. Die Wiimote kann bis zu 4 Infrarot-Quellen verfolgen und kann über Bluetooth mit dem PC verbunden werden und mit Hilfe von Nintendo's Managed Library ausgewerted werden. (Siehe auch Codeplex). Multitouch: Mit Multitouch kann man z.B. auf einer Rückrojektion mit den Händen malen. Hierzu liefert er auch gleich noch den Sourcecode mit.    Etwas abstrakter aber durchaus interessant ist die Erkennung von Fingern bzw.Reflektoren...

posted @ Friday, December 21, 2007 10:18 AM | Feedback (1)

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)

Default-Values im DataGridView und BindingDatasource

Wenn man im DataGridViev in Windows Forms einen Datensatz mit den durch den Designer erstellten Einstellungen erstellt und automatisch aktualisiert, bekommt man in der Datenbank per default NULL-Values. Um das zu verhindern, füge ich in Form_Load einen Event für TableNewRow hinzu, in dem ich wiederum die Defaultvalues setzen kan: Private Sub Form_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Me.myDataSetTableAdapter.Fill(Me.myDataSet.myTablename) AddHandler myDataSet.Tables(0).TableNewRow, AddressOf newRowHandlerEnd SubSub newRowHandler(ByVal sender As Object, ByVal...

posted @ Thursday, December 13, 2007 9:31 AM | Feedback (0)

Connectionstring zur Laufzeit ändern

Mit folgendem Code kann man den in den Appsettings eingetragenen ConnectionString zur Laufzeit zu ändern: My.MySettings.Default.Item (connectionName) = connectionString Wenn der Connectionstring in der App.config gespeichert werden soll, hilft folgende Funktion: Sub saveConnectionString(ByVal connectionName As String, _ ByVal connectionString As String) Dim Config As Configuration Dim Section As ConnectionStringsSection Dim Setting As ConnectionStringSettings Dim ConnectionFullName As String ConnectionFullName = String.Format("{0}.My.MySettings.{1}", _ System.Reflection.Assembly.GetExecutingAssembly.GetName.Name, _ connectionName) Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Section = CType(Config.GetSection("connectionStrings"), ConnectionStringsSection) Setting = Section.ConnectionStrings(ConnectionFullName) If IsNothing(Setting) Then Throw New Exception("Connection mit dem Namen " & _ connectionName & " nicht gefunden.") Setting.ConnectionString = connectionString Config.Save(ConfigurationSaveMode.Full) 'Hier wird der Connectionstring für die aktuelle Laufzeit geändert My.MySettings.Default.Item(connectionName) = connectionString End Sub

posted @ Wednesday, December 12, 2007 10:48 AM | Feedback (0)

Datei mit dem Standardprogramm öffnen

Um eine Datei mit dem unter Windows eingestellten Standardprogramm zu öffnen kann man System.Diagnostics.Process.Start benutzen: If MessageBox.Show("Wollen Sie diese Datei öffnen?", _ "Datei öffnen", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) Then System.Diagnostics.Process.Start(FullPathTextBox.Text) End If  

posted @ Monday, December 10, 2007 8:48 AM | Feedback (0)

ASP.NET 3.5 Extensions CTP Preview Released

Gestern wurde die erste CTP der ASP.NET 3.5 Extensions released. Genaueres über den Inhalt gibt es in der .NET Web Product Roadmap (ASP.NET, Silverlight, IIS7) in ScottGu' Blog. Ebenfalls gibt es unter http://quickstarts.asp.net/3-5-extensions/ Demos und Quickstart Samples.   Hier ist noch eine Liste von Tutorials und Screencasts von ScottGu, Scott Hanselman und Phil Haack. ASP.NET MVC Framework (Part 0): What is it? ASP.NET MVC Framework (Part 1): Building an MVC Application  ASP.NET MVC Framework (Part 2): URL Routing ASP.NET MVC Framework (Part 3): Passing ViewData from Controllers...

posted @ Monday, December 10, 2007 7:24 AM | Feedback (0)

Breite und Reihenfolge im DataGridView speichern

Nach dem Windowstate möchte ich nun auch die Spaltenbreiten und Reihenfolge der Spalten beim DataGridView speichern. [Imports System.Collections.Specialized] Dim stringCollection As New System.Collections.SpecializedStringCollection() For Each column As DataGridViewColumn In Me.DataGridView1.Columns stringCollection.Add(String.Format("{0},{1},{2}", _ column.DisplayIndex, _ column.Width, column.Visible)) Next My.Settings.GridViewSetttings = stringCollection'Das Wiederherstellen...

posted @ Saturday, December 08, 2007 9:47 AM | Feedback (0)

Silverlight 1.1 Showcase von T-Systems

Das Showcase von BMW zu Silverlight 1.1 ist ja eher ein Funktions-Showcase. Usability und ernsthafter Nutzen sind da kaum zu erkennen. Ganz im Gegensatz dazu das Showcase von T-Systems. Exzellente Umsetzung und Usability lassen einen wirklich den Nutzen und die Vielfalt von Silverlight erkennen. Tipp: Oben rechts in der Ecke kann man auch noch mal den View ändern.

posted @ Friday, December 07, 2007 9:51 AM | Feedback (1)

Save WindowState

s

posted @ Thursday, December 06, 2007 10:31 PM | Feedback (0)

kostenloser Download - Microsoft Visual Basic 2005 - Das Entwicklerbuch

Microsoft hat auch zwei Bücher zum kostenlosen download: Microsoft Visual Basic 2005 - Das Entwicklerbuch Wobei man sich den zweiten Teil auch herunterladen kann, wenn man in der Download-URL Teil_1 durch Teil_2 ersetzt :-)

posted @ Thursday, December 06, 2007 3:40 PM | Feedback (0)

Verzeichnisstruktur auslesen

Alle Jahre wieder bin ich auf der Suche nach einem Tool oder Code, mit dem ich Verzeichnisstrukturen auslese. mit diesem Minitool kann ich die Verzeichnisstruktur auslesen und in eine XML-Datei schreiben. Und hier ist der Code dazu

posted @ Wednesday, December 05, 2007 11:53 AM | Feedback (1)

.NET Framework unter Symbian

Red Five Labs hat eine Beta des .NET Framework for Symbian (ab S60 3rd edition) released. Torsten Weber fasst das kurz zusammen...

posted @ Wednesday, December 05, 2007 9:36 AM | Feedback (0)