分享好友 系统运维首页 频道列表

asp.net mvc 发布到IIS测试,路径的引用问题

win服务器  2023-02-10 03:140

之前做的一个ASP.NET MVCI应用程序,今天发布到IIS中进行测试,结果发现之前的很多引用的脚本文件和CSS文件都显示不正常,仔细一看原来是路径引用的问题。

IIS里建的虚拟目录,但我在引用文件的时候都是使用的是站点根目录的方式,当时没有考虑到,我是菜鸟大家别笑,记录下来,是提醒以后别忘记了,顺便提醒一下马虎的朋友们,^_^。

突然碰到这个问题,之前又没有太在意。问题总得想办法解决呀,最主要的就是三个问题。

1.html中引用的一些路径问题:

我才突然想到asp.net mvc中的一个帮助类UrlHelper,就使用了Url.Content()方法,使用了表示asp.net 中的虚拟根目录符号”~”,这样才将问题解决了,这个符号在一般的html代码中是不可以正常使用的,一定要在asp.net 中才可以使用。

2.脚本中引用路径的问题

脚本中也需要使用一些url,我是这样的,我写了一个WebHandler让它返回一个javascript 字符串对象,这个对象的字符串是指网站根目录或者虚拟目录。

WebHandler中的代码

 

代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace ZencartFAQ.Handler
{
    
/// <summary>
    
/// Summary description for $codebehindclassname$
    
/// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
    
public class GetRootPath : IHttpHandler
    {

        
public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType 
= "text/plain";
            
if ("/Handler/GetRootPath.ashx".ToUpper() == context.Request.ServerVariables["SCRIPT_NAME"].ToUpper())
            {
                context.Response.Write(
"var rootPath='" + "http://" + context.Request.ServerVariables["HTTP_HOST"+ "'");
            }
            
else
            {
                
string virtualPath = context.Request.ServerVariables["SCRIPT_NAME"];
                
int tmpEnd = virtualPath.IndexOf('/'1);
                context.Response.Write(
"var rootPath='" + "http://" + context.Request.ServerVariables["HTTP_HOST"+ virtualPath.Substring(0, tmpEnd + 1+ "'");
            }
        }

        
public bool IsReusable
        {
            
get
            {
                
return false;
            }
        }
    }
}


另外脚本的使用就是引用

代码
    <script src='<%=Url.Content("~/Handler/GetRootPath.ashx")%>' type="text/javascript" language="javascript"></script>
    
<script type="text/javascript" language="javascript">
        alert(rootPath);
    
</script>


3.样式表中引用的问题

CSS中一般引用路径都是一些图片文件,我是将所有的图片文件放到IIS根目录下,这样就可以访问了。

技术有限,没有总结好的请大家指教。

查看更多关于【win服务器】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Server Application Error IIS密码不同步 MS DTC 事务管理器启动失
最近电脑出了一系列的问题,IIS能启动,但是不能正常访问.提示错误.记得没事养成看系统日志的习惯,先看系统日志有一些红色的叉叉,出现的频率非常高.MS DTC 事务管理器启动失败。LogInit 返回错误 0x2。具体的是什么服务,我就不写了,百度一下非常多. 我想出现这

0评论2023-03-08806

Visual Studio-IIS Express 支持局域网访问配置
转自:http://www.itnose.net/detail/6132793.html注意:本人测试后,发现个问题,不知是我个人的VS问题还是普遍的。就是将配置文件中的新增的节点注释后,会导致页面调试的时候很难加载,一直转圈,出不来。痛苦使用Visual Studio开发Web网页的时候有这样的

0评论2023-03-08803

IIS中实现http自动转换到https
IIS中实现http自动转换到https修改以下文件:C:\WINDOWS\Help\iisHelp\common\403-4.htm 为以下内容!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"HTMLHEADTITLE该页必须通过安全通道查看/TITLEMETA HTTP-EQUIV

0评论2023-02-10973

错误">IIS 发布网站出现<compilation debug="true" targetFramework="4.6.1">错误
参考:http://www.mamicode.com/info-detail-1180214.html原因是环境只安装到.net Framework 4.5 的版本(.net版本向下兼容 )解决方案:升级.net Framework修改为compilation debug="true" targetFramework="4.5"

0评论2023-02-10621

在IIS上部署ASP.NET Core项目出现错误 500.19
安装AspNetCoreModule托管模块

0评论2023-02-10891

IIS8.5中的强制https直接修改web.config文件和***域名跳转www和过滤子目录不强制跳转
亲测可用?xml version="1.0" encoding="UTF-8"?configurationsystem.webServerrewriterulesrule name="301Redirect" stopProcessing="true"match url="(.*)" /conditions logicalGrouping="MatchAny"add input=&quo

0评论2023-02-10888

IIS中的 MIME类型
IIS中的 MIME类型 John Meade, 网络技术作家 Internet信息服务文档小组 微软公司目录 介绍使用 MIME表格向IIS 4.0加入 MIME类型向IIS 5.0加入MIME类型在ASP页面中声明一个MIME类型表格: IIS 中的MIME格式,按照扩展名顺序表格: IIS种的MIME格式, 按照类型/子

0评论2023-02-10422

让IIS Express支持Json文件
  同事在做一个web系统的二级联动时将联动数据保存在一个Json文件中,当他将代码提交后,到我机子上运行时总是报该文件404错误,反复检查路径以及权限并没有问题。将问题反馈给他时,他表示在他机子上的本地IIS上运行并没有什么问题。。。等等,本地IIS,而

0评论2023-02-10545

IIS提示‘另一个程序正在使用此文件,进程无法访问’
关于IIS服务启动失败的问题:“IIS提示‘另一个程序正在使用此文件,进程无法访问’”,的解决方法:IIS中网站服务所占用的是80端口,出现这样的提示我们可以判定是端口冲突造成的,故,查看真正运行的占用80端口的程序,在“运行”输入“cmd”,进入命令行,

0评论2023-02-10407

IIS自动安装程序(免费) iis完整安装包
本文转载:http://www.cnblogs.com/cunet/archive/2008/10/31/1323896.html IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何着手,且安装过程繁琐,易出错,还需要操作系统安装光盘。为了尽可能简化IIS的安装,蓝点软件于2008年10月研究制作

0评论2023-02-10497

ASP.NET页面与IIS底层交互和工作原理详解 (二)
第三回: 引言 Http 请求处理流程 和 Http Handler 介绍这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进行处理(应该记得Page类实现了IHttpHandler)。从Http 请求处理流程一文的最后的

0评论2023-02-10309

IIS文件夹权限
通过控制文件夹权限来提高站点的安全性。这一篇权限设置包括二个方面,一个是系统目录、盘符的权限,一个是应用程序的上传文件夹权限设置。系统目录确保所有盘符都是NTFS格式,如果不是,可以用命令 convert d:/fs:ntfs 转换为NTFS格式。所有磁盘根目录只给sy

0评论2023-02-10338

更多推荐