天天看點

怎樣在asp網站上添加自己的asp.net子網站

現在的asp網站,一般都是建設在windowsserver 2008上,使用的IIS一般是7.0以上,這樣一來,實際上和asp.net可以相容的,也就是說,既可以用asp網頁,也可以解析asp.net的網頁,如果安裝上一些插件,甚至同時可以解析php頁面,真是友善。

假設我的網站原本是asp的,根目錄是websuit,下面有多個目錄,例如:dep1,dep2,dep3等等,分别是三個不同的部門子網頁,現在我要建立一個子目錄dep4,但是要求dep4中的子網站使用asp.net建立,該怎麼做呢?

主要思路是:

1、  用vs2010建構出網站結構,做出需要的網頁,并釋出出來;

2、  修改一下web.config檔案,放置自己的dll檔案

一、第一步:

(1)在vs2010中建立一個網站,根目錄是websuit(也可以是别的名稱),在此目錄下建立檔案夾dep4,在dep4中編寫自己的aspx網頁,這個過程和普通asp.net做網站一樣的。

(2)在解決方案中可以分層建立多個新項目(注意:新項目要放在dep4目錄下,這樣網站釋出時,這些項目都會在dep4目錄下)

(3)完成後,釋出自己的網站,釋出成功的網站根目錄就是websuit,裡面的dep4含有你自己的aspx頁面和各個層的項目,你把這個dep4目錄拷貝到自己的web伺服器的websuit根目錄下即可。

(4)保證将本解決方案的sln檔案放在根目錄outSuit目錄下【sln在網站釋出後可以删除】。

二、第二步:

(1)      由于aspx檔案的背景代碼檔案被編譯成dll,這些dll一般都被釋出到根目錄下的bin目錄下,是以要将bin目錄拷貝到web伺服器的websuit目錄下。

按說這就結束了,dep4中的aspx頁面應該能運作了吧?至少我試驗成功了。

但是還有一個小問題:如果以後建設了多個aspx子網站【假設又添加了dep5,dep6】,每個子網站中的所有aspx網頁使用的dll都放在bin中,混在一起,最後分不清哪個dll屬于哪個子網站的了。

一個較好的辦法是:每個aspx子網站包含了自己的aspx頁面,同時也含有自己的bin目錄,例如:dep4目錄下含有自己的aspx頁面,同時含有自己的bin,放置自己使用的dll,這樣的話網站結構就很清晰了。

做法是:修改web.config檔案【即使是asp網站,在IIS7中也有這個檔案吧】,在configuration節點中添加以下代碼:

<runtime>

    <assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1">

      <probing privatePath="bin;dep4\bin;dep5\bin;"/>

    </assemblyBinding>

  </runtime>

這樣一來,aspx頁面在解析時會搜尋privatePath中的路徑,就會找到dep4\bin下的dll,ok!

繼續閱讀