FastSpring學習筆記一

來源:互聯網
上載者:User

首先我們在http://www.springframework.cn/index.php官方網站下載FastSpring的源碼 ,然後我們就可以開始我們的FastSpring學習之旅了。

在學習之前,本人先聲明一下:本人學習.NET時間並不長,在開始寫這篇文章的時候,我才使用了.NET不到一個月的時間,因此,很多東西都寫得比較羅嗦或者有不正確的地方,歡迎各位指正。(我以前是用delphi7的)

到目前為止,我還不懂FastSpring這架構是如何構建的,我想,對於新手來說,關鍵是它能協助我們快速架構一個比較正規的架構,因此,我們在原始碼所附帶的例子FastSpring.Net.AppWeb的基礎上,加入我們的東西,它的這個例子是由另外一個項目FastSpring.App的類庫基礎上做出來的例子。不多說,我們找個目標的事情來做吧,我們先來做個網站吧,一些新聞之類的資訊,下面我們開始了。

一、為了分清原來的作者所寫的東西和我們所寫的東西區分開,我們就像它的例子一樣,也建立一個類庫,名叫DZ_Portal.App。然後我們在它的FastSpring.NET.AppWeb的基礎上為它添磚加瓦,在根目錄下添加新項目,選擇“Web表單”,名稱為:“Index.aspx”,語言選擇“Visual C#”,右邊兩個選項都打勾吧(一個是“選擇主版頁面”,一個是“將代碼放在單獨的檔案中”),然後點擊添加,它會提示我們選擇主版頁面,我們選擇FSMasterPage.master,然後點確定。

說明:為何要選擇FSMasterPage.master呢?是因為在訪問以FSMasterPage.master為主版頁面的網頁時,FastSpring會自動為我們建立出FastSpring的整個架構出來,它不管你以哪個頁面為起始頁,只要第一次訪問以FSMasterPage.master為主版頁面的時候,它就自動建立出來,這個我們不用管它是如何運作的哦。

二、我們選擇根目錄下的Index.aspx,點擊滑鼠右鍵,選擇“設為起始頁”,點擊運行。

結果:出錯,直接跳轉到http://localhost:1837/FastSpring.Net.AppWeb/ErrorPage.aspx頁面,為何會出現這個錯誤頁面?是因為FSMasterPage.master主版頁面作怪,錯誤原因是Index頁面建立的時候是繼承系統的System.Web.UI.Page類,因此,我們需要修改它的父類,我們在Using部分輸入:“using
FastSpring.Web.Base;”,並修改FsLogin的父類為:BasePageSession。

現在的Index.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 FastSpring.Web.Base;

public partial class Index : BasePageSession
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
然後我們點擊運行,看看情況。出錯,調試FSMasterPage.master單元的<title><%=this.SoftName + this.SoftVersion %></title>代碼處停止,提示this為NULL,對象沒有建立出來。為何對象沒有建立?大家都知道Spring是一個IOC項目,它是根據xml的設定檔來生產出你所需要的對象的,因此,對象沒建立出來的原因是沒有設定檔告訴Spring去建立Index所需要的東西(我們在一開始運行例子的時候是沒出錯的,因此,我們不需要懷疑FSMasterPage.master的建立有問題,所以錯誤就只有這個了)。我們在下一步解決這個問題。

三、我們一開始的時候是建立了一個DZ_Portal.App類庫項目的,因此,我們在DZ_Portal.App項目中添加一個Index頁面的Spring設定檔,我們添加一個新項:“spring.net_bean_Index.xml”,這個設定檔的所有代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns='http://www.springframework.net'>
 
  <!-- 頁面定義 -->
  <object type="~/Index.aspx" parent="adminPageM">
  </object>
</objects>

說明:  <object type="~/Index.aspx" parent="adminPageM">,意思是說:“根目錄/Index.asp”的頁面建立時應用父類adminPageM的配置(Spring不知道是不是不會自動引用父類的配置進行建立的?要我們寫那麼多東西!要是哪位知道原因的,麻煩告訴我一下。)好了,我們運行一下看看會有什麼結果。結果還是出錯,為何?因為添加設定檔的是DZ_Portal.App項目,而不是網站的項目,所以,我們還要告訴網站項目去使用它的這個配置,因此,我們來下一步。

四、在web項目中引用DZ_Portal.App項目所產生的類庫檔案(怎麼引用該會吧?在web項目的bin檔案夾位置點擊滑鼠右鍵選擇添加引用,找到DZ_Portal.App項目所產生的dll檔案),然後在web.config設定檔中的spring節點下的context中加入下面一句:“<resource uri="assembly://DZ_Portal.App/DZ_Portal.App/spring.net_bean_Index.xml"/>”(<resource uri="assembly://程式集/命名空間/設定檔名稱.xml"/>),原來的裡面有很多類似的語句的了,看看就知道該如何寫。好了,我們再運行一次。出現空白頁面,到此為止,一個基本的頁面終於建立出來了。本章也該宣告結束了。(有什麼錯誤的請各位指正,謝謝。)

原創作品出自努力偷懶,轉載請說明文章出處:http://blog.csdn.net/kfarvid或 http://www.cnblogs.com/kfarvid/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.