IIS 更新ScriptMaps

iis

A zip file with your code and stylesheet is also available for download. Make sure you right click on the link and choose Save Target As...

To use the colored code in your pages link to the stylesheet colorcode.css and copy everything between the <pre class='coloredcode'>...</pre> tags. Feel free to modify color assignment in the stylesheet as you wish.

--------------------------------------------------------------------------------

//**************************************
// for :Dynamic ScriptMapping with Metabase
//**************************************
Copyright (c) 2003, Lewis Moten. All rights reserved.
//**************************************
// Name: Dynamic ScriptMapping with Metabase
// Description:Allows you to assign almost any extension to be processed by the ASPX script processor. You may add, update, and remove the extension progromatically without opening the IIS Manager. Great for those of you who do not have access to the machines desktop (such as hosted at other ISPs).
// By: Lewis E. Moten III
//
//
// Inputs:None
//
// Returns:None
//
//Assumes:None
//
//Side Effects:None
//This code is copyrighted and has limited warranties.
//Please see http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.1586/lngWId.10/qx/vb/scripts/ShowCode.htm
//for details.
//**************************************

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ext As String = "GIF"
' Setup extension to be processed by ASPX script processor
Response.Write("<BR>Add: " & Mapping(ext, MappingAction.Add))
' Update extension to be processed by latest ASPX script processor
Response.Write("<BR>Update: " & Mapping(ext, MappingAction.Update))
' Setup extension so that it is not processed by any script processor
Response.Write("<BR>Delete: " & Mapping(ext, MappingAction.Delete))
End Sub
Enum MappingAction
Add
Update
Delete
End Enum
Private Function Mapping(ByVal ext As String, ByVal action As MappingAction) As Boolean
' Assigns the ASPX processor to the extension specified.
' See IIS documentation for information regarding script mapping
' http://localhost/iishelp/iis/htm/asp/apro9tkj.htm
' Example of Script Mapping:
' ".gif,C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG"
Dim APPL_MD_PATH As String
Dim AppPath As String
Dim App As DirectoryEntry
Dim ScriptMaps As ArrayList
Dim ExtentionExists As Boolean = False
Dim ScriptProcessor As String = ""
Dim Flags As String = "5"
Dim IncludedVerbs As String = "GET,POST,HEAD"
Dim NewMap As String = "{0},{1},{2},{3}"
' Make sure ext is prefixed with "."
If Not ext.IndexOf(".") = 0 Then ext = "." & ext
' Make sure ext is lowercase
ext = ext.ToLower
' Do our best to prevent problems with default script processors
Dim BadExt As String
BadExt = ".asa.asax.ascx.ashx.asmx.asp.aspx.asd.cdx.cer.config."
BadExt &= "cs.csproj.idc.java.jsl.licx.rem.resources.resx.shtm."
BadExt &= "shtml.soap.stm.vb.vbproj.vjsproj.vsdisco.webinfo."
If Not BadExt.IndexOf(ext & ".") = -1 Then
Return False
End If
Response.Write("got here!")
Response.End()
' Get application metadata path
APPL_MD_PATH = Request.ServerVariables("APPL_MD_PATH").ToString
' Format path for ADSI
AppPath = Replace(APPL_MD_PATH, "/LM/", "IIS://localhost/")
' Attempt to acquire the object
Try
If DirectoryEntry.Exists(AppPath) Then
App = New DirectoryEntry(AppPath)
End If
Catch ex As Exception
Return False
End Try
' Get a list of all script mappings
ScriptMaps = New ArrayList(CType(App.Properties("ScriptMaps").Value, Object()))
' If we are not deleting a script map
If Not action = MappingAction.Delete Then

时间: 2024-10-23 14:47:18

IIS 更新ScriptMaps的相关文章

IIS 6.0 WebDAV远程代码执行0day漏洞 CVE-2017-7269 PoC已经公开了 但Windows 2003已经没有更新服务了

3月27日,在Windows 2003 R2上使用IIS 6.0 爆出了0Day漏洞(CVE-2017-7269,CNNVD-201703-1151),PoC开始流传,但糟糕的是这产品已经停止更新了,建议大家要么关闭IIS 下的WebDAV服务,要么升级到Windows 2016.绿盟科技发布威胁预警通告,全文如下. Update: 绿盟科技已经发布了该漏洞的分析及防护方案 Microsoft Windows Server 2003 R2 IIS 6.0远程代码执行威胁预警通告 3月27日,Zh

更新安全狗iis版本后网站登录不了如何解决

一个朋友的主机是windows 2003的系统,上面放了几个站,安全主要是通过安全狗做的,他说突然提示更新了安全狗后,所有网站都登录不进去,前台读取数据不问题,他没有主机管理经验,叫我帮他看一下. 我们把安全狗全部停掉,也于事无济,以前同事的主机也出现过类型的问题,那时是mysql权限设置不对,我也折腾了很久才弄好,这次定向思维就去找mysql是不是没有写入权限问题去了.后来折腾了很久,发现还是不行,因为phpmyadmin登录不去,不能用界面管理mysql,我就尝试用字符命令操作一下数据库.

iis运行.net提示System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询

问题提示 Exception Details: System.Data.OleDb.OleDbException: 操作必须使用一个可更新的查询. Source Error: Line 80:         { Line 81:             ++info.ReadCount; Line 82:             ArchiveBLL.UpdateReadCount(info.ArchiveId); Line 83:             readCount.Add(info

Winodws下IIS/Apache+PHP+MySQL的安装配置

apache|iis|mysql 我写过的教程不多,而且大部分都是来源于别人的教程,不过,这里所介绍的,都是融入我所总结的经验.--引言 PHP的执行效率是有目共睹的,这也是我喜欢它的原因之一,和它称为绝妙搭档的Mysql以及Apache想融合,不能不惊叹其效率了.PHP更新也很快,这里列举了目前最新版本PHP4.3.2RC4(几乎没有BUG了,估计写完这篇不久后正式版就出了),和最新版本的Mysql4.0.13的安装过程. PHP的安装文件可以直接到 http://www.php.net/ 下

IIS处理asp.net请求和asp.net的页面生命周期

当一个客户端页面访问IIS试图获取一些信息的时候,发生了什么事情?一个请求在通过了HTTP管道后又发生了什么?本文主要是描述这两个过程,即IIS处理asp.net请求和asp.net的页面生命周期.欢迎大家积极拍砖,共同学习,共同进步. 首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worke

IIS处理Asp.net请求和Asp.net页面生命周期说明

首先我们要弄清楚两个非常重要的概念: 1, worker process(w3wp.exe). worker process管理所有的来自客户端的请求并给出响应.它是IIS下asp.net应用程序的核心. 2, application pool. 它是worker process的容器,IIS5及之前的IIS版本均没有application pool的概念.每一个application pool对应着一个worker process,在IIS Metabase中维护着Application Po

asp.net自动更新组件分享

一. 摘要 前两天在博客上发布了一篇英文的自动更新组件文章Release a AutoUpdater tool,那么在这篇文章中,我们也对其功能进行一些简单说明,这个组件非常简单,所以大家可以下载进行一些改进.众所周知,对于一般的软件开发,在开始的时候都会有一个技术选型的阶段,最大的选型就是首先要确定是选择Client/Server模式还是Browser/Server模式.综合而论:两者各有优劣,在很多方面都不能被对方互相取代,如在适用Internet.维护工作量等方面,B/S比C/S要强很多:

IIS优化指南

Windows Server自带的互联网信息服务器(Internet Information Server,IIS)是架设网站服务器的常用工具,它是一个既简单而又麻烦的东西,新手都可以使用IIS架设一个像模像样的Web站点来,但配置.优化IIS的性能,使得网站访问性能达到最优状态却不是一件简单的事情,这里我就介绍一下如何一步一步的优化你的IIS服务器. 服务器端环境,我们以Windows Server 2003的IIS6.0为例,客户端环境为Mozilla Firefox 3.0,同时安装Yah

用推送技术动态更新页面内容

动态|页面 一.什么是动态内容  大多数热门Web网站都从在线广告业务获利.Web页面中的广告空间是有限的,为了让广告投资物有所值,广告客户不仅必须在很小的广告空间内塞入大量的信息,而且还要保证广告能够吸引用户的注意力.在当前的大多数网站上,放入Web页面的横幅广告一般由服务器在构造页面的同时生成,我们无法把新的广告动态地插入到已经发送出去的页面. 如果要显示新的广告,唯一的办法就是重新刷新页面.我们可以用编程的方法刷新页面,例如: 使用浏览器窗口对象的setTimeOut函数定期地刷新页面.但