国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

巧用VS2005解決VS2005網(wǎng)站發(fā)布不便問題

2019-11-18 17:11:58
字體:
供稿:網(wǎng)友

一、問題引入
在VS2005網(wǎng)站開發(fā)過程中,網(wǎng)站發(fā)布問題一直是個問題.VS2005創(chuàng)建的網(wǎng)站有幾個默認(rèn)的目錄:App_Code,App_Data,App_Themes........
如果是但cs/vb文件,比如UploadFile.cs類UploadFile,這個類文件沒有可視的aspx文件,那么這個文件就必須放到App_Code目錄下,否則在VS2005網(wǎng)站中,該類是不可訪問的.那么放就放進去吧,但是編譯的時候(我的VS2005是Team版的,生成沒有反應(yīng),感覺象是檢查了一遍代碼,只能使用發(fā)布網(wǎng)站來預(yù)編譯.不知道其他版本怎么樣.)問題來了.選擇發(fā)布網(wǎng)站后,它會讓你選擇以什么方式發(fā)布,一般選默認(rèn)就可以了.那樣生成的dll數(shù)量還少點.發(fā)布后,在bin目錄一般會有App_Code.compiled,App_Code.dll,App_Web_(隨機字符).dll,引用的dll等文件.問題就出在這了,如果要做個免虛擬的程序,豈不是可能bin目錄會需要放兩個App_Code.dll?會不起沖突么?還有,如果程序更改一次需要重新發(fā)布,那就完了.看看VS2005干的好事吧.inherits="MyCodeGif, App_Web_vf3ukhnv"本來好好的,一個MyCodeGif.aspx文件,一個MyCodeGif.aspx.cs文件,現(xiàn)在MyCodeGif.aspx文件繼承自MyCodeGif, App_Web_vf3ukhnv,可以看出MyCodeGif是MyCodeGif.aspx.cs定義的類,App_Web_vf3ukhnv是bin文件夾中的一個dll文件名.你再嘗試發(fā)布一次的話,更頭疼的問題來了,怎么MyCodeGif.aspx頁面又繼承自MyCodeGif, App_Web_qwdwqd了?編譯后的程序集名字都不一樣了!

二、asp.net中頁面與類的關(guān)系
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;

/**//// <summary>
/// PageBase 的摘要說明
/// </summary>
public class PageBase : System.Web.UI.Page
{
    public PageBase()
    {

        }
    }
如過象我MyCodeGif.aspx頁面文件,我甚至可以
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyCodeGif.aspx.cs" Inherits="PageBase" %>也就是頁面直接繼承自PageBase類。

結(jié)論:ASP.Net的頁面可以繼承自
從     [繼承自System.Web.UI.Page類的父類 ]  擴展的子類

三、解決方案
在VS2005中也是可以自定義程序集名稱的——那就是在創(chuàng)建項目的時候,而不是網(wǎng)站的時候。也就是說可以在你創(chuàng)建的網(wǎng)站已經(jīng)寫好了,你可以重新創(chuàng)建個項目,然后把網(wǎng)站的代碼拿來重新編譯。便宜完后可能需要更改aspx文件的繼承,可能也不必更改,看你怎么便宜了,因為aspx文件的繼承只和類名(有命名空間時,也要指定命名空間)有關(guān)。MyCodeGif.aspx頁面文件完全可以改成
<%@ Page Language="C#" AutoEventWireup="true"  Inherits="PageBase" %>
把里面的CodeFile="MyCodeGif.aspx.cs"去掉。

這樣就能模仿VS2003的方式發(fā)布網(wǎng)站了。過程可能復(fù)雜點,但是對于后期維護我感覺還是挺有用的,畢竟習(xí)慣了VS2003.而且可以和2003一樣做免虛擬的程序了。

全文完。希望能對大家有用。
作者:謝平,夕陽軌跡            2006-5-27


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 界首市| 朝阳区| 丰台区| 塔河县| 上栗县| 凭祥市| 咸阳市| 三台县| 邵东县| 曲阳县| 神农架林区| 个旧市| 安泽县| 海丰县| 布尔津县| 金堂县| 太原市| 禹州市| 宁南县| 抚宁县| 镇原县| 英吉沙县| 吴堡县| 名山县| 丹阳市| 仪征市| 福泉市| 威远县| 周宁县| 时尚| 龙门县| 澎湖县| 乐安县| 宁明县| 凤翔县| 柞水县| 团风县| 郓城县| 新蔡县| 景德镇市| 瓦房店市|