關於我

我的相片
用心思考、保持熱情,把工作上的經驗作分享與紀錄。希望能夠跟大家一起不斷的成長~

如何將MVC 2.0專案掛載於SharePoint(WSS)網站虛擬目錄下

如果在WSS環境下,希望可以在WSS網站虛擬目錄下直接掛載MVC專案。當使用VS2010 MVC2.0開啟MVC專案,並指定Web使用指向WSS下的虛擬目錄作為Web環境,這時會發現執行此MVC專案,會發生找不到路徑的錯誤。如下圖:
擷取1 

這是因為在.Net4.0中,已將UrlRoutingModule加入,Framework預設的Config中,如下圖:
擷取2 

所以在VS2010中,新建立的MVC 2.0 專案Web.config中,預設是不會有UrlRoutingModule的定義的,因為一般繼承Framework中的config設定,應該就可以正確運作了。

但SharePoint環境中,在HttpModule的宣告時,有特別把Framework的預設config部分Clear。因此掛在SharePoint網站下虛擬目錄之MVC專案,便無法正確被解讀了。如下圖參考:
擷取
知道原因後,這裡有兩個方式可以解決此問題:

  1. 把SharePoint的Web.cofig中,HttpModule區塊中的<Clear />拿掉。
  2. 在新的MVC專案中重新宣告UrlRoutingModule的定義。

我這裡選用第二種方式來解決我的問題。畢竟不瞭解為什麼SharePoint要清除上層的HttpModule設定,因此我想還是保留SharePoint預設值較佳,因此我在MVC專案的Web.config中加入如下區段:
擷取3
目前看起來MVC便可以正確運作了!

擷取5 
將這次問題經驗註記下來,分享給大家!

1 則留言:

  1. hi 阿彬您好, 偶然看見您也有處理share point的經驗, 想問您:利用share point Office線上編輯的功能, 去編輯外部系統的文件, 是否是一個可行的方案呢?

    回覆刪除