WSS自定義頁面的發佈過程記錄2

剛學WSS不久,之前在測試服務器上面做了個自定義頁面的WSS網頁,需要把它發佈到生產服務器上面。這篇文章只是記錄了發佈的一些需要注意的步驟,僅作爲今後可以回頭參考的資料,可能不是很正規的做法。備忘而已。

1、把編譯好的源碼從測試環境拷貝到生產服務器上面

 

001 拷貝源碼

2、由於在生產環境服務器上面沒有安裝VS2008,需要先把GAC註冊工具也拷貝到生產服務器上面

002 拷貝gacutil

3、修改部署文件的批處理文件,把Gacutil的路徑修改成步驟2實際保存的路徑

003 修改GACUTIL的路徑

4、運行Intall.bat文件,進行工程各種文件的拷貝和註冊DLL,安裝Feature

004 運行install.bat文件

5、嘗試訪問自定義的頁面,此時系統報錯,原因是還缺少一些文件。因爲這些文件分散在測試環境裏,在第一次部署的時候,不知道這些文件應該放在哪個地方。通過這個模擬的部署過程,就可以瞭解這些文件哪些是必須的,哪些是可以省略的。今後就可以花時間做一個安裝包,直接運行安裝包即可。

005 嘗試訪問MR網頁

6、由於之前修改過子網站的幾個MasterPage,需要把這幾個MasterPage也拷貝到生產服務器上面

006 拷貝Master文件

7、然後在生產服務器上面的SiteCollection上面創建那些業務上需要的列表

007 創建用來Lookup的List

8、創建文檔庫

008 創建MR Documents文檔庫

9、創建圖片庫

009 創建Sales Photo圖片庫

10、打開生產服務器上面的WSS站點的web.config文件,配置Sefecontrol節點,把工程生成的DLL配置成SafeControl

010 配置SafeControl

11、修改web.config文件,使WSS站點增加Ajax的支持

011 配置Ajax00

011 配置Ajax01

011 配置Ajax02

12、配置完Ajax後,之前創建的Admin頁面已經可以運行了

012 Admin頁面已經可以訪問

13、其他頁面還是出錯 

012 其他頁面還是出錯

14、由於工程中使用到Enterprise Library,需要把用到的DLL在生產環境的GAC中進行註冊,先把相關的DLL拷貝過來

013 拷貝Enterprise Library

15、用Gacutil這個工具將以下幾個DLL註冊到GAC

014 用gacutil註冊dll01

014 用gacutil註冊dll02

16、Admin頁面裏面的按鈕也可以運行了,Sales和Brand的數據已經被成功初始化

015 Admin頁面可以正常運行

 

17、修改web.config文件,使WSS站點能夠使用Session

017 打開Session開關

18、把工程用到的兩個sitemap文件也拷貝到生產服務器上面

 018 拷貝兩個sitemap文件

19、配置Sitemap Provider

019 配置Sitemap Provider

20、Search頁面也可以運行了,但是由於一些圖片的路徑不對,沒有正確顯示。這是由於代碼裏面直接指定了服務器的名字造成的,今後要花時間把它們寫到CSS裏面,不能偷懶;

020 Search頁面可以運行  

21、把缺少的圖片也拷貝過來

021 把圖片拷貝過來

22、用Gacutil註冊工程用到的第三方工具,這些DLL可以幫助我們用select * from xxx之類的語法查詢WSS的自定義列表裏面的數據,非常方便。

022 用gacutil註冊caml工具

23、但是按Search頁面裏面的按鈕,仍然出現錯誤。Ajax把相應的錯誤信息給屏蔽掉了,光看以下提示,不知是什麼地方出錯。

023 Search頁面仍然出錯   

24、經查,上面步驟出錯,是因爲我們使用到了Session來存放一些業務上的數據;

024 Search頁面出錯原因是TrimsPhoto不能Serialize

25、把Ajax屏蔽掉後,真正的錯誤原因顯示出來了,原來是我們定義的TrimsPhoto類沒有定義成可序列化的類。但是之前在測試服務器上面,同樣沒有定義成可序列化的類,爲何能正常運行呢?這肯定是生產服務器上面web.config裏面的配置和測試服務器上面的配置不一樣。區別點在哪裏呢?

025 Search頁面出錯原因是TrimsPhoto不能Serialize

26、通過一番查找和比較,終於發現在生產服務器上面有一行sessionState的配置,這個配置把Session的模式設置成了SQL Server。這就要求所有放在Session裏面的對象必須能夠被序列化。原因在此,於是乾脆把這行代碼給註釋掉。

026 允許Session存放不序列化的對象

27、之前用Sharepoint Designer 2007修改過測試服務器上面的幾個MasterPage,把一些不需要顯示的內容隱藏起來了。也需要把這兩個文件拷貝到生產服務器上面。先把這兩個MasterPage從測試服務器上面下載下來。

027 下載這兩個MasterPage 

28、然後上傳到生產服務器上面

028 上傳這兩個MasterPage到新服務器

29、更換各個頁面的MasterPage的路徑

029 更換MasterPage文件01

029 更換MasterPage文件02

029 更換MasterPage文件03

029 更換MasterPage文件04

 029 更換MasterPage文件05

 029 更換MasterPage文件06

 029 更換MasterPage文件07

 029 更換MasterPage文件08

30、至此,自定義的頁面已經可以運行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章