Αρκετό καιρό τώρα εξερευνώντας τις δυνατότητες του ASP.NET 2.0, μέσα στις πάρα πολλές καινοτομίες του, βρήκα αρκετά ενδιαφέρουσα καινοτομία το Administration Tool και γενικότερα τη δυνατότητα να γράφεις στο Web.Config μέσα από κώδικά.
Στην Beta υπήρχε η δυνατότητα να καλέσουμε http://<myServer>/<myApplication>/WebAdmin.axd και να μπούμε στο Administation Tool που υπάρχει στο IDE (Web Site/ASP.Net Configuration). με σκοπό να μπορούμε να αλλάξουμε το Web.config όταν η εφαρμογή μας έχει εγκατασταθεί στον τελικό πελάτη.
Τώρα όμως δεν γίνεται έτσι όπως στην Beta. Και αυτό γιατί λείπει το Class System.Web.Handlers.WebAdminHandler
Μπορούμε όμως να το δημιουργήσουμε ως εξής:
1)Δημιουργούμε στον IIS ένα Virtual Directory έστω WAdmin με Map path στο WINDOWS\Microsoft.NET\Framework\v2.χ.χχχχχ\ASP.NETWebAdminFiles όπυ βρίσκονται τα αρχεία του Web Administration Tool.
2)Υλοποιούμε ένα Implementation του Interface IHttpHandler ώς εξής:
Namespace
System.Web.Handlers
Public Class WebAdminHandler
Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean _
Implements System.Web.IHttpHandler.IsReusable
Get
Return True
End Get
End Property
Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) _
Implements System.Web.IHttpHandler.ProcessRequest
context.Response.Redirect(_
String.Format( _
"/WebAdmin/Default.aspx?applicationPhysicalPath={0}&applicationURL={1}", _
context.Server.MapPath(""), _
context.Request.ApplicationPath)
)
End Sub
End Class
End NameSpace
3) Στο Web.config της εφαρμογής μας βάζουμε στο Section HttpHandlers ενα verb που να παραπέμπει στο WebAdminHandler που μόλις δημιουργήσαμε:
<System.Web>
<
httpHandlers>
<add verb="*" path="WebAdmin.axd" type="System.Web.Handlers.WebAdminHandler"/>
</httpHandlers><httpHandlers>
.............
.............
</System.Web>
Για να καλέσουμε το Administration Tool της εφαρμογής μας δίνουμε στον Browser την διεύθυνση http://<MyServer>/<MyApp>/WebAdmin.Axd
* Για να μπορούμε να γράφουμε στο Web.config της εφαρμογής μας πρέπει να δώσουμε τα κατάλληλα Write permissions στο folder
Σταύρος Βαλσάμης
Προγραμματιστής