<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    探索與發現

    研究java技術

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      83 隨筆 :: 0 文章 :: 109 評論 :: 0 Trackbacks
    由于近期項目的需要,我開始學習MOSS編程,剛開始接觸的時候覺的特別的別扭,覺的沒有自己全新創建的web application來的自由,但是MOSS還是有很多優點的,這篇我先說下自定義webpart的部署問題。

        如何創建webpart我并不想在這篇中講,具體我會另外寫一篇關于webpart開發的文章。

        MOSS中的webpart與普通.net控件的不同點:

           1:webpart一般都是以類庫的形式出現,它是沒有前端可視化頁面的,類似于asp.net中的自定義控件。

           2:兩者繼承的基類不同:

               1):asp.net控件的基類:System.Web.UI.WebControls.WebControl;

               2):webpart的基類:System.Web.UI.WebControls.WebParts.WebPart;

           3:兩者生成的文件不同,下面幾個是asp.net控件所不包含的:

               1):密鑰文件;

               2):每個 Web 部件都應有一個 .webpart 文件,還有一個描述 Web 部件的 XML 文件。這是webpart獨有的特征。

           4:MOSS中的webpart部署并不像asp.net網站中的一樣,控件和網站程序放在一起然后部署就行,我總結以個幾點應該注意的地方:

              1>:首先把生成的webpart的dll文件復制到sharepoint網站對應的目錄中,而程序集的部署分以下幾種方式:

                 1):bin目錄,在創建一個web application時,會選擇一個端口,此時在IIS中就會創建一個對應端口的網站目錄:Inetpub"wwwroot"wss"VirtualDirectories"20983,在這個目錄下面有兩個文件夾:_app_bin,bin,將編譯好的程序集放進任何一個目錄即可;

                 2):全局程序集緩存:全局程序集緩存使各個應用能夠共享程序集,它會被.Net運行時自動加載。它的位置在:[System Drive]"Windows"Assemply。 因為它會強命名程序集,所有具體開發時不推薦這種方式。

                 3).指定目錄,參考第一條,bin,_app_bin,這兩個文件夾都可以用來部署程序集,MOSS還支持指定目錄方式,這需要在Web.Config中進行配置。在<configuration>節下進行配置:

       <runtime>
          
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
             
    <probing privatePath="bin;_app_bin;CustomBin" />
          
    </assemblyBinding>
       
    </runtime>

               小結:其實上面的方式一和方式三是同一原理,實際上可以說是兩種方式。還有一點就是如果想手工復制程序集到sharepoint網站的bin,這里有兩種簡單的方式:

                        1:選擇項目-屬性-生成-更改輸出路徑到sharepoint網站的bin即可;

                        2:選擇項目-屬性-生成事件-增加生成事件:

    copy "$(TargetPath)" "E:"Inetpub"wwwroot"wss"VirtualDirectories"20983"bin"

              

               BIN目錄的優點和缺點:

                       1:優點。它是一個單獨信任位置,默認的,代碼訪問安全級別非常低。如果想讓webpart正常運行,一般都需要開發人員顯示的提升BIN目錄的信任級別。一個BIN目錄對應一個web application,這樣我們可以為不同的web application創建不同的獨立代碼。

                      2:缺點。如果想在另外一個web 應用中應用此webpart,則需要重新部署。

              全局程序集緩存的優點和缺點:

                      1:優點。它是經過簽名的程序集,信任級別最高,屬于完全信任。因為它部署于全局位置,所有能夠被所有web應用所共享。

                      2:缺點。由于它是完全信任,所以它失去了相應的防御措施。

               2>:設置特殊安全屬性,如果是采用部署到bin的方式,則會存在安全性問題,如不做處理則會出現如圖一的情況。

     

                 原因:默認情況下bin 目錄的代碼訪問安全權限很低,對存儲的webpart具有特殊的安全約束,Web 部件在執行時不會自動授予完全信任代碼權限。我們可以手工來設置這些屬性。

                       1:在web.config文件中有一個配置節trust level,是控制信任級別的,我們可以更改此配置節來提升bin目錄的安全性:trust level=Full。

                       2:在生成的程序集文件 assembly添加一句 [assembly: AllowPartiallyTrustedCallers()]

                 小結:上面方法一般性地提升了信任級別,所以會授予您可能不需要的任何新權限,這樣就不如另一種創建新信任策略文件的方法安全。創建一個新的信任策略文件,將 web.config 文件指向該新文件。這種方法較為復雜,但是可以更為精確地設置 Web 部件的權限屬性。[引用MSDN],

              3>:注冊控件。控件的注冊離不開web.config文件,找到SharePoint節點,在最下面添加如下信息: (Assembly,Version,Culture,PublicKeyToken的查看方式可以通過.Net Reflector。 )

    <SafeControl Assembly="WebParts.Samples, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" Namespace="WebParts.Samples" TypeName="*" Safe="True" />

        </SafeControls>

     

              4>:導入到Webpart部件庫。網站操作-網站設置-修改所有網站設置-庫-web部件-新建-選中剛才創建的webpart-點擊“導入庫”-在頁面中添加webpart即可。

      總結:

           本文總結了些webpart部署時對于新手的一些困惑,雖然沒有比較深入的地方,但是學會部署webpart是MOSS編程的基本功。希望大家指點。

      注:

          本文所講的環境均為MOSS 2007。

    posted on 2009-05-16 06:52 蜘蛛 閱讀(755) 評論(0)  編輯  收藏 所屬分類: SharePoint
    主站蜘蛛池模板: 国产h肉在线视频免费观看| 人人玩人人添人人澡免费| 国产福利在线观看免费第一福利| 亚洲AV乱码久久精品蜜桃| 人妻无码一区二区三区免费| 久久亚洲国产伦理| 每天更新的免费av片在线观看| 亚洲AV无码专区在线播放中文 | 精品多毛少妇人妻AV免费久久| 亚洲国产午夜福利在线播放| 免费一区二区三区在线视频| 亚洲综合亚洲综合网成人| 国产在线观看无码免费视频| 亚洲va国产va天堂va久久| 亚洲成人免费电影| 亚洲AV日韩综合一区尤物 | 亚洲精品国产V片在线观看| www.av在线免费观看| 亚洲国产精品SSS在线观看AV| 久久午夜伦鲁片免费无码| 亚洲国产精品人久久电影| 青青青青青青久久久免费观看| 免费国产va在线观看| 亚洲成av人片天堂网| 最新中文字幕免费视频| 免费人成网上在线观看| 亚洲av无码一区二区三区网站| 美女视频黄免费亚洲| 免费看一级高潮毛片| 久久久久亚洲AV成人无码| 青草草在线视频永久免费| 韩日电影在线播放免费版| 亚洲综合色区中文字幕| www.91亚洲| 91网站免费观看| 一级午夜免费视频| 最新亚洲春色Av无码专区| 国产成人A亚洲精V品无码| 亚洲熟女一区二区三区| 无码人妻一区二区三区免费| 亚洲免费在线观看|