Wenn man die HTML 5 MIME Types per web.config definieren will geht das ganz einfach so: <?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<!-- HTML 5 Video Mime Types-->
<mimeMap mimeType="video/ogg" fileExtension=".ogm" />
<mimeMap mimeType="video/ogg" fileExtension=".ogv" />
<mimeMap mimeType="video/ogg" fileExtension=".ogg" />
<mimeMap mimeType="video/webm" fileExtension=".webm" />
<mimeMap mimeType="audio/webm" fileExtension=".weba" />
<mimeMap mimeType="video/mp4" fileExtension=".mp4" />
<mimeMap mimeType="video/x-m4v" fileExtension=".m4v" />
</staticContent>
</system.webServer>
</configuration>
fa1d26e5-710f-45f9-9b22-bf2f1b940ad8|0|.0
Wenn der HTML Code, den ein ASP.NET Control erzeugt, vor der Auslieferung noch bearbeitet werden soll, kann man dieses schaffen, indem man die Render Methode überschreibt: Private Const vbCrLf2 = vbCrLf + vbCrLf
Protected Overrides Sub Render(writer As System.Web.UI.HtmlTextWriter)
Dim Out As New StringWriter
MyBase.Render(New HtmlTextWriter(Out))
Dim Txt = Out.ToString
While (Txt.Contains(vbCrLf2))
Txt = Txt.Replace(vbCrLf2, vbCrLf)
End While
Txt = Microsoft.Security.Application.Encoder.HtmlEncode(Txt)
writer.Write(String.Concat("<pre class='tracking'>", Txt, "</pre>"))
End Sub
30d57c52-8ffd-440a-937c-0049ca264379|0|.0
Man kann in ASP.NET den kompletten Seitentext vor der Ausgaben an den Client mittels eines (oder mehrerer) Filter bearbeiten. Dazu muss eine neue Filterklasse erstellt werden, die von MemoryStream erbt: Public Class ResponseFilterStream
Inherits MemoryStream
Private _OutStream As Stream = Nothing
Public Sub New(Output As Stream)
_OutStream = Output
End Sub
Private htmlLt As New Regex("<", RegexOptions.Compiled Or RegexOptions.Multiline)
Private htmlGt As New Regex(">", RegexOptions.Compiled Or RegexOptions.Multiline)
Public Overrides Sub Write(buffer() As Byte, offset As Integer, count As Integer)
Dim InText As String = UTF8Encoding.UTF8.GetString(buffer)
InText = htmlLt.Replace(InText, "<")
InText = htmlGt.Replace(InText, ">")
_OutStream.Write(UTF8Encoding.UTF8.GetBytes(InText), offset, UTF8Encoding.UTF8.GetByteCount(InText))
End Sub
End Class
und diese dann in der Page_Load an den Response.Filter gehan...
[More]
24f896e4-e140-456a-a5c4-abe612121dc2|0|.0
Wir haben auf einem unserer Server den IIS 7.5 FTP Server laufen, der die Berechtigungen, welche User sich überhaupt einloggen dürfen, über eine Windows Gruppe "ftpusers" bezieht.
Leider werden Updates an deiser Gruppe, also wenn neue User angelegt werden, und diese in die Gruppe kommen, nicht direkt an den FTP Server weitergeleitet, sondern brauchen einige Zeit.
Um den FTP Serve rdazu zu bringen, die Berechtigungen neu einzulesen muss der FTP Dienst neu gestartet werden.
Das passiert entweder über den IIS Manager (Die entsprechende Site neustarten), oder, fals das nicht funktioniert, in einer cmd mit
sc stop ftpcvssc start ftpsvc
und dann kann man auch noch den Status des Dienstes abfragen:
sc query ftpsvc
Diese Informationen habe ich bei Serverfault.com gefunden:http://serverfault.com/questions/355394/iis-7-5-ftp-service-user-usergroups-for-authorisation/356018#356018
9289a7d8-95c7-4b74-b7f6-caa06f41aeae|0|.0
In einem Kundenprojekt benötigen wir SSL in einer Azure Websolle.
Dafür habe ich auf meinem Rechner ein Cert Request erstellt, diesen von Thawte signieren lassen und wieder bei mir abgeschlossen.
Damit habe ich bei mir ein gültiges SSL Cert in meinem Cert Store.
Dieses Cert habe ich nun, mit dem Zertifikats Snap-In der mmc, in eine pfx Datei exportiert und den Privaten Schlüssel mit exportiert.
Dieses pfx kann ich nun in der Azure Admin Konsole zu der Webrole hochladen.
Dann kann ich im Visual Studio noch ebenfals das Zertifikat mitgeben und dieser den https Endpunkt erlauben.
Dann wird das Ganze zu Azure deployed uns startet dann.
so weit, so gut.
Nun wurden aber letztes Jahr die Schlüssellängen von 1024 auf 2048 Bit verlängert, so dass der IIS neue Root Zertifikate braucht, um die Certs korrekt auszuliefern.
Jetzt also noch das neue Root Cert runtergeladen, und dann?
Das Root Cert muss in der Webrolle mittels eines Startup-Task installiert werden.
Dazu das Cert (z.B....
[More]
4def1313-93e1-4d64-ae11-39ec977b7754|0|.0
Der erste Ansatz, mit den "normalen" Google Analytics Kampagnenparametern zu arbeiten, endet schnell in einer Sackgasse. Denn dies dazu, dass man sich die Daten des Kundeneinsprungs überschreibt. Das will man sicher nicht und auch Google scheint es nicht so gerne zu sehen, dass Kampagnendaten in einer Session überschrieben werden. Stattdessen kann man jedoch die Auswertungen der Website-Suche in Google Analytics schnell, einfach und komfortabel verwenden und das ohne technische Umbaumassnahmen vornehmen zu müssen: (1) Im ersten Schritt definiert man für sich zwei Übergabe-Parameter: der erste zur Identifizierung des internen Werbemittels also z.B. internal_campaign_item und einen weiteren zur Identifizierung der internen Kampagne z.B. internal_campaign_name. (2) Diese Parameter werden nun einfach stets an die Links der intrernen Werbemittel angehängt also z.B. zielseite.html?internal_campaign_item=motiv1_bigteaser_homepage&internal_campaign_name=Ostern2011(3) Man muss jetzt n...
[More]
82a1a90b-99c2-411c-961d-96000c2018b3|1|5.0
Wenn man das URL Rewriting Modul im IIS 7.5 benutzen möchte, erkennt das Visual Studio leider diese Tags in der web.config nicht. Man kann aber einfach die entsprechenden Schemadefinitionen aktualisieren. Das passiert, indem man die UpdateSchemaCache.js und die rewrite.Xsd in einen Ordner legt, und in diesem in einer als Administrator gestarteten Shell einfach cscript UpdateSchemaCache.js ausführt. Dies habe ich bei Stackoverflow gefunden.
b6298816-3a1c-4437-81f9-0599b5aa7a6c|0|.0
Wenn man versucht, eine Windows Phone 7 App auf einem per USB angeschlossenen Phone zu debuggen, geht zwar der CameraTask auf, schließt sich aber sofort wieder mit einem Result=Canceled. Dies liegt daran, dass die Zune Software dazwischenfunkt. Man kann jedoch auch das Telefon mit dem WPConnect.exe (ohne Zune) verbinden, dann funktioniert das wunderbar: http://forums.create.msdn.com/forums/p/66932/409283.aspx
eebb3249-8b0c-4ca8-86b1-c7e598f57dd9|1|1.0
Wenn innerhalb einer Updatepanels ein Fehler (Serverseitig) passiert, wird dieser nicht angezeigt. Man kann aber mittels dieses Javascriptes den Fehler als z.B. Javascript-Alert sichtbar machen: <script type="text/javascript">
/*== Show Errors from Updatepanel as Alerts==*/
Sys.Application.add_load(AppLoad);
function AppLoad() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);
}
function EndRequest(sender, args) {
if (args.get_error() != undefined) {
var msg = args.get_error().message.replace("Sys.WebForms.PageRequestManagerServerErrorException: ", "");
alert(msg);
args.set_errorHandled(true);
}
}
</script>
307af6d1-4a80-4214-ab1d-37854ea1d6d6|1|4.0
Wir haben in einigen Projekten die jQuery Datei(en) vom Microsoft CDN (ajax.microsoft.com) ausliefern lassen. Das hatte anfänglich ein großes Problem, da die Server die Dateien nicht über SSL ausliefern konnten, dies ist jedoch behoben, so dass wir folgenden Code benutzt haben: <script src="<%=IIf(Request.IsSecureConnection, "https", "http")%>://ajax.microsoft.com/ajax/jquery/jquery-X.X.X.min.js" type="text/javascript"></script>
Nun musste ich aber heute feststellen, dass die Domain nicht mehr erreichbar ist.
Die Files liegen jetzt ausschließlich unter ajax.aspnetcdn.com:
<script src="<%=IIf(Request.IsSecureConnection, "https", "http")%>://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js" type="text/javascript"></script>
Der Umzug hat meiner Erachtens nur den Grund, dass die neuen Server die Files ausliefern, ohne Cookies zu setzet, und somit etwas schneller sind. Ob man nun das...
[More]
5b024cf9-d68c-4375-948d-2b983d6dacd1|0|.0