All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
经典:10个重要的PHP网络信息函数说明_php资料_编程技术
SQL,Server日期计算_[SQL,Server教程]
在ASP.NET中跨页面实现多选_[Asp.Net教程]
ASP.NET数据库编程之Access连接失败_[Asp.Net教程]
C#教程:操作注册表
技巧实例:ASP.NET生成静态页面实现方法_.net资料_编程技术
WEB中基于XMLHTTP的简单实例分析_[XML教程]
VS,2008,中文版,(90天评估)_[Asp.Net教程]
将改变我们生活的这些XML应用_[XML教程]
问答:查询分析器不能单步调试的的原因_[SQL Server教程]
Reading number is top 10 pictures
NeedWallpaper7
人美胸美腿更美1
这两天,中国人民到处都可以“看海”了
大四女生借债隆胸成功
Ashlynn Brooke a group sexy photo1
Small QiShu -- ShuangShuangPan1
NeedWallpaper1
Sora aoi possession of boudoir1
寒流来了
2012 national geographic daily picture3
Download software ranking
美女写真1
Boxer Classic video1
The Bermuda triangle2
Visual C++界面编程技术
Sora aoi - one of more PK
Wild things 2
XML+Web+Service开发教程
卡丁车单机版
Professional killers2 data package
尖东毒玫瑰A
delv published in(发表于) 2014/1/6 9:12:39 Edit(编辑)
巧用VS2005解决VS2005网站发布不便问题_[Asp.Net教程]

巧用VS2005解决VS2005网站发布不便问题_[Asp.Net教程]

巧用VS2005解决VS2005网站发布不便问题_[Asp.Net教程]

一、问题引入

  在VS2005网站开发过程中,网站发布问题一直是个问题.VS2005创建的网站有几个默认的目录:App_Code,App_Data,App_Themes........


  如果是但cs/vb文件,比如UploadFile.cs类UploadFile,这个类文件没有可视的aspx文件,那么这个文件就必须放到App_Code目录下,否则在VS2005网站中,该类是不可访问的.那么放就放进去吧,但是编译的时候(我的VS2005是Team版的,生成没有反应,感觉象是检查了一遍代码,只能使用发布网站来预编译.不知道其他版本怎么样.)问题来了.选择发布网站后,它会让你选择以什么方式发布,一般选默认就可以了.那样生成的dll数量还少点.发布后,在bin目录一般会有App_Code.compiled,App_Code.dll,App_Web_(随机字符).dll,引用的dll等文件.问题就出在这了,如果要做个免虚拟的程序,岂不是可能bin目录会需要放两个App_Code.dll?会不起冲突么?还有,如果程序更改一次需要重新发布,那就完了.看看VS2005干的好事吧.inherits="MyCodeGif, App_Web_vf3ukhnv"本来好好的,一个MyCodeGif.aspx文件,一个MyCodeGif.aspx.cs文件,现在MyCodeGif.aspx文件继承自MyCodeGif, App_Web_vf3ukhnv,可以看出MyCodeGif是MyCodeGif.aspx.cs定义的类,App_Web_vf3ukhnv是bin文件夹中的一个dll文件名.你再尝试发布一次的话,更头疼的问题来了,怎么MyCodeGif.aspx页面又继承自MyCodeGif, App_Web_qwdwqd了?编译后的程序集名字都不一样了!


  二、ASP.Net中页面与类的关系


  ASP.Net 中,页面是可以继承自类的,可以多重继承。比如MyCodeGif.aspx页面文件


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="MyCodeGif" %>MyCodeGif.aspx.cs中是这样的
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FreeCodeNum;
public partial class MyCodeGif : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//.....逻辑
}
}


  可见MyCodeGif.aspx页面继承自类MyCodeGif 也可以这样继承,MyCodeGif.aspx页面文件


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="MyCodeGif" %>


  MyCodeGif.aspx.cs中是这样的


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FreeCodeNum;
public partial class MyCodeGif : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
//.....逻辑
}
}


PageBase.cs这样


using System;
using System.Web;
using System.Collections;
/**////


/// PageBase 的摘要说明
///

public class PageBase : System.Web.UI.Page
{
public PageBase()
{
}
}


  如过象我MyCodeGif.aspx页面文件,我甚至可以


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="PageBase" %>也就是页面直接继承自PageBase类。


  三、解决方案


  在VS2005中也是可以自定义程序集名称的——那就是在创建项目的时候,而不是网站的时候。也就是说可以在你创建的网站已经写好了,你可以重新创建个项目,然后把网站的代码拿来重新编译。便宜完后可能需要更改aspx文件的继承,可能也不必更改,看你怎么便宜了,因为aspx文件的继承只和类名(有命名空间时,也要指定命名空间)有关。MyCodeGif.aspx页面文件完全可以改成


<%@ Page Language="C#" AutoEventWireup="true" Inherits="PageBase" %>


  把里面的CodeFile="MyCodeGif.aspx.cs"去掉。


  这样就能模仿VS2003的方式发布网站了。过程可能复杂点,但是对于后期维护我感觉还是挺有用的,毕竟习惯了VS2003.而且可以和2003一样做免虚拟的程序了。


  全文完。希望能对大家有用。作者:谢平,夕阳轨迹







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.