Asp.net MVC 如何向webform一样在IIS里添加虚拟目录
相信很多用webform的程序猿都习惯性的使用虚拟目录的形式来对一个程序添加新的功能,那么在mvc下该如何来弄呢?
首先得有一个项目基层的项目,然后我们在这个项目的基础上新增一个功能模块,例如信息发布功能
此时我们不想去重新编译基层的项目,只是在此基础上新增个功能,所以我们通过添加虚拟目录来完成
下图是目录结构,我们的虚拟目录挂在Areas下面(不了解区域的参考http://www.cnblogs.com/jyan/archive/2012/07/25/2607752.html)

下面开始我们添加信息发布模块
一、新建一个空的MVC项目

只留下Controllers、Models、Views、Web.config
Web.config可以删也可以留,有时会碰到razor视图没有代码提示的问题,建议还是留着吧
二、添加路由注册
添加一个类,继承AreaRegistration,按照规范类名为项目名+AreaRegistration
using System.Web.Mvc; namespace InformationTest
{
public class InformationTestAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "InformationTest";
}
} public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"InformationTest_default",
"InformationTest/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}
最终的结构就是这样的


大家会发现这个结构和Areas里的结构式一样的,没错我们这里只是把原本的Areas以一个项目的形式剥离出来了
三、将InformationTest.dll拷贝到主项目的bin文件夹下
四、在IIS里添加虚拟目录
希望对大家有帮助,有什么更好的方式,欢迎大家来交流
Asp.net MVC 如何向webform一样在IIS里添加虚拟目录的更多相关文章
- ASP.NET MVC 5 学习教程:数据迁移之添加字段
原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符 ...
- 不用asp.net MVC,用WebForm照样可以实现MVC(请看最后一句话)
在<避开WebForm天坑,拥抱ASP.Net MVC吧>这篇博客中我讲到了ASP.net WebForm由于一些先天的“诱导犯罪”的缺陷,现在用ASP.net MVC的公司越来越多.但是 ...
- 不用asp.net MVC,用WebForm照样能够实现MVC
在<避开WebForm天坑,拥抱ASP.Net MVC吧>这篇博客中我讲到了ASP.net WebForm由于一些先天的"诱导犯罪"的缺陷,如今用ASP.net MVC ...
- 关于C#mvc用iis发布,虚拟目录的问题。
mvc关于iis发布虚拟目录的问题,解决方法是修改代码中路径的方式,例如ajax中常用的为url:“/Home/Index”,可修改为 url: '@Url.Action("Index&qu ...
- ASP.NET MVC中混合WebForm
新建一个名为WebForms的文件夹用于存放WebForm页面文件. // 忽略对 WebForms 路径的路由routes.IgnoreRoute("WebForms/{weform}&q ...
- ASP.NET项目在IIS上使用虚拟目录
在IIS中,应用程序与虚拟目录特别容易混淆,但两者又是完全不同的概念. 应用程序是一个逻辑边界,这个边界可以分隔网站及其组成部分.虚拟目录则是一个真实的指针,这个指针指向了一个本地或远程的物理路径.虚 ...
- [开发笔记]-ASP.NET项目在IIS上使用虚拟目录
说一下我想要实现的效果: 假如我做一个图片展示类的网站,或者其他需要用户上传文件的网站,需要将用户上传的文件保存到一个Uploadfiles文件夹下,一般我们在做项目时用户上传的文件都是保存在网站项目 ...
- 漫步ASP.NET MVC的处理管线
ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总 ...
- [收藏]ASP.NET MVC管道详述
ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总 ...
随机推荐
- hdu 2665 划分树
思路:裸的划分树 #include<iostream> #include<algorithm> #include<cstring> #include<cstd ...
- hdu 3743 树状数组
思路:我们只需坚守一个原则,本来就在左边的坚决不把它换到右边.也就是相邻的两个数,左边小,右边大,那么就不调换.这样对每个数,只要统计左边比它大的数的个数.可以从后面开始用树状数组统计比它小的数的个数 ...
- C#基础性问题
解决方案.项目.类之间的关系: 一个解决方案可以包含多个项目.一个项目可以包含多个类 解决方案:公司 项目:部门 类:员工 .sln:解决方案文件,里面包含着整个解决方案的信息,可以双击运行. .cs ...
- 为Widget添加事件
原帖:http://bbs.51cto.com/thread-965565-1-1.html 在appWidget中,ImageButton和Button都是被支持的控件,其事件可分成三种类型: ...
- C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想
如果你接触过<设计模式>.软件架构的编程思想,就会知道优秀的设计准则:“组合优于继承的”. 这句话很简短,但开始学习OOP的时候,真切的是—-不太好理解(以我个人当初学习为例). OOP的 ...
- OC3-父类指针指向子类对象
// // Cat.h // OC3-父类指针指向子类对象 // // Created by qianfeng on 15/6/17. // Copyright (c) 2015年 qianfeng. ...
- 设置 MyEclipse 默认打开文件方式
在web开发时,我们在打开JSP页面时,MyEclipse默认使用 Vistual 的方式打开.这种方式打开JSP页面时,很慢.在实际的开发过程中我们不想使用这种默认的方式打开JSP.设置如 ...
- javascript笔记——jikeytang javascript前端群 389875212 精华总结
网址: https://github.com/jsfront // http://www.kancloud.cn/jsfront/month/82796 内容: 前端js github总结, ...
- Mysql 数据库的介绍
MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 Oracle.DB2 中小型 SQL Server.M ...
- 翻译:如何编译 Gunz 源代码
如何编译 Gunz 源代码 本文翻译自:How to build Gunz source code 各位好,近期 Dawson 发布了 Gunz 的源代码,所以我就来做个简单的教程,来说明如何编译 G ...