ASP 添加脚本映射问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP 添加脚本映射问题相关的知识,希望对你有一定的参考价值。

我在我的IIS里添加了一个 *.do的脚本映射,配置除了请求路径和名称外,完全按照ASP默认的映射来设置,但始终无法访问,出现以下问题,

HTTP 错误 404.17 - Not Found
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
模块 StaticFileModule
通知 ExecuteRequestHandler
处理程序 StaticFile
错误代码 0x80070032

首先确定你安装了iis
然后从命令行进入文件夹C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\
盘符,系统文件夹,版本号可能不一样,看你自己的机子,版本号选择最高的那个文件夹
运行命令aspnet_regiis.exe -i
安装完毕即可使用vs打开

一点资料:

aspnet_regiis命令详解.
用法:
aspnet_regiis.exe[-i[r][-enable]|-u[a]|-r|-s[n]|-k[n]|-lv|-lk|-c|-e[a]|-?]
-i-安装ASP.NET的此版本,并更新IIS元数据库根处的
脚本映射和根以下的所有
脚本映射。现有的低版本脚本映射
升级到此版本。
-ir-安装ASP.NET的此版本,仅注册。不
更新IIS中的脚本映射。
-enable-带-i或-ir指定-enable时,还将
在IIS安全控制台(IIS6.0或更高版本)中启用ASP.NET。
-s-在指定的路径以递归方式安装此版本
的脚本映射。现有的低版本脚本映射
升级到此版本。
例如aspnet_regiis.exe-sW3SVC/1/ROOT/SampleApp1
-sn-在指定的路径以非递归方式安装此版本的
脚本映射。现有的低版本脚本映射
升级到此版本。
-r-为IIS元数据库根位置的此版本
以及根以下的所有脚本映射安装脚本映射。不论当前版本是什么,
所有现有的脚本映射都
更改为此版本。
-u-卸载ASP.NET的此版本。到此版本的
现有脚本映射重新映射到此计算机上安装的
其余的最高ASP.NET版本。
-ua-卸载计算机上的所有ASP.NET版本
-k-从指定的路径中以递归方式移除到任何ASP.NET版本的所有
脚本映射。
例如aspnet_regiis.exe-kW3SVC/1/ROOT/SampleApp1
-kn-从指定的路径中以非递归方式移除到任何ASP.NET版本的所有
脚本映射。
-lv-列出计算机上安装的所有
ASP.NET版本(包括状态和安装路径)。
Status:Valid[(Root)]|Invalid
-lk-列出包含ASP.NET脚本映射的所有IIS元数据库项的所有路径
(连同版本一起)。不显示从父项
继承ASP.NET脚本映射的项。
-c-将客户端脚本的此版本安装到
每个IIS站点目录的aspnet_client子目录中。
-e-从每个IIS站点目录的aspnet_client子目录中
移除客户端脚本的此版本。
-ea-从每个IIS站点目录的aspnet_client子目录中
移除客户端脚本的所有版本。
-?-打印此帮助文本。

example:
当系统新建一个asp.netweb应用程序的时候,提示错误信息如下:
"VisualStudio.NET已检测到指定的Web服务器运行的不是ASP.NET版本,你将无法运行ASP.NET应用程序或服务。"

可以尝试运行
aspnet_regiis-i
aspnet_regiis-r
两个命令来安装asp.net服务管理器.
如果还是不行的话,再尝试一下下面的操作:
1、先确定是不是1.1
2、把"IP地址"设成全部未分配
3、在IE连接设置中把本地地址不使用代理服务器那里打上勾
参考技术A http404 没找到文件?追问

是有这个文件的

追答

访问路径错了呗。

将脚本添加到 asp.net 内容页面

【中文标题】将脚本添加到 asp.net 内容页面【英文标题】:add script to asp.net content page 【发布时间】:2012-05-09 13:51:32 【问题描述】:

我有一个可用的谷歌地图脚本,但我不知道如何将它添加到我的 asp.net 内容页面。将脚本添加到页面的正确方法是什么?

见代码:

 <%@ Page Title="Our Location" Language="VB"     MasterPageFile="~/MasterPages/Frontend.master" AutoEventWireup="false" CodeFile="Location.aspx.vb" Inherits="About_Location" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 

<script type="text/javascript"   
  src="http://maps.google.com/maps/api/js?sensor=false"> 
</script> 

<style type="text/css">  
html  height: 100%    
body  height: 100%; margin: 0px; padding: 0px   
##map height: 100%  
</style> 

</asp:Content>


<asp:Content ID="Content2" ContentPlaceHolderID="cpMainContent" Runat="Server"    OnLoad="codeAddress()">

<script type= "text/javascript">

var geocoder;
var map;
var marker;

function codeAddress() 
    alert("hello")


    //initializes the map

    //create geocoder
    geocoder = new google.maps.Geocoder();
    //set options for the map being created
    var myOptions = 
        mapTypeId: google.maps.MapTypeId.ROADMAP
    ;
    //create map instance and pass it the myOptions object literal
    map = new google.maps.Map(document.getElementById("map"), myOptions);

    //geocode to get the lat and lng points of the given address
    geocoder.geocode( 'address': 'New York, New York', function (results, status) 
        if (status == google.maps.GeocoderStatus.OK) 
            //if geocoder finds location
            //center the map on the latlng points of the given address
            map.setCenter(results[0].geometry.location);
            map.setOptions( zoom: 18 );
            //create marker and place it on the address
            marker = new google.maps.Marker(
                map: map,
                position: results[0].geometry.location,
                title: 'New York, New York'
            );
        
        else 
            //if geocoder cannot find location, alert user
            alert("Could not find location");
        
    );










</script>

<div id="map" style="width:700px; height:400px;"></div> 

</asp:Content>

【问题讨论】:

【参考方案1】:

将您的脚本放在单独的 js 文件中,像使用 Google 地图脚本一样声明它。然后你必须调用它,也许将这个“#map” div id 作为参数发送到该脚本,而不是在 javascript 中硬编码。

在这种情况下,您希望使用脚本管理器在页面加载时执行此操作:

ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowGoogleMap", "codeAddress('map');", true);

顺便说一句。对于谷歌地图,您可以使用谷歌地图服务器控件,从服务器端使用管理地图要容易得多:

http://googlemap.codeplex.com/

【讨论】:

以上是关于ASP 添加脚本映射问题的主要内容,如果未能解决你的问题,请参考以下文章

将脚本添加到 asp.net 内容页面

iis怎样支持多种脚本

为啥在 asp.net mvc 中的公共路由之前先映射特殊路由?

由于扩展配置问题而无法提供请求的页面

由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射

由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。