Sharepoint學習筆記—習題系列--70-576習題解析 -(Q135-Q137)

Question  135
 You work for a software company that sells Web Parts to customers. You designed the first version of a Web Part named Weather 1.0. The company has already sold several hundred licenses of the Web Part. You designed a new solution package for Weather 2.0. Some customers who are already using Weather 1.0 will install Weather 2.0 in the same Web application as Weather 1.0. You need to design your package so that the functionality of Weather 1.0 will not be affected by the installation of Weather 2.0 in the same Web application. Which approach should you recommend?
A. Use the same assembly name and namespace for Weather 2.0 that you used for Weather 1.0. Create a new .web part file. Increment the version number in the .web part file.
B. Use the same assembly name and namespace, but increment the version number of the assembly package. Use the same .web part file that you used for Weather 1.0.
C. Use the same assembly name and namespace, but increment the version number of the assembly package. Configure assembly binding redirection from version 1.0 of the assembly to version 2.0. Use the same .web part file that you used for Weather 1.0.
D. Use the same assembly name and namespace, but increment the version number of the assembly package. Create a new .web part file.html


解析:
  你爲一家專門爲客戶提供Web part產品的公司開發了一個名爲Weather 1.0版本的Web Part,此公司已經賣出去了幾百套此Web Part, 你如今開發了此Web Part的新版本Weather 2.0,之前已經使用Weather 1.0的老客戶須要在他們應用的環境中安裝Weather 2.0,你須要保證Weather 1.0的運行功能不會由於Weather 2.0的安裝受影響。你該採用何種措施來達成此目的呢?
   顧名思義,WebPart就是組成網頁(Web)的部件(Part),它是SharePoint站點WebPartPage的基本構建塊。直觀的看,在SharePoint網站的頁面上,數據的顯示、數據的編輯,都是經過一個一個的WebPart來完成的;實質上,WebPart是ASP.NET自定義控件,都是由一個WebPart說明文件(.dwp)和WebPart程序集(.dll)組成。
   若是你對早先部署的WebPart程序集(.dll)進行了升級,那麼原先添加的Web Part就會中止工做,由於Sharepoint找不到針對原先Web part的程序集了。【這也是本題要求儘可能避免的】
   因爲.NET支持並行存儲和執行同一程序集的不一樣版本,這種支持內置於運行時基礎結構中。 由於強名稱程序集的版本號是其標識的一部分,因此運行時可以在全局程序集緩存中存儲同一程序集的多個版本,而且在運行時加載這些程序集。根據這一特性,咱們就能夠建立一個新的Feature,但使用相同的程序集簽名和不一樣的版本號,這樣咱們就解決了WebPart程序集(.dll)升級後找不到原程序集而形成的已安裝Web Part運行失效的問題。 而備選項中,選項D符合這樣的操做。
  選項A. 修改.web part文件中的Version並不影響程序集的Version,若是程序集的Version不變就會覆蓋掉原來的WebPart程序集(.dll),形成已部署Web Part的停工,因此排除。
  選項B. 若是使用的是與Weather 1.0相同的.web part(內有Web Part版本號)文件,那還叫什麼功能升級呢?因此排除。
  選項C. 犯了與選項B同樣的錯誤,使用的是與Weather 1.0相同的.web part文件。因此排除。
  web

所以本題答案應該選  D緩存

參考 
http://blogs.msdn.com/b/andrasg/archive/2011/07/19/the-good-solution-for-versioning-sharepoint-2010-webparts.aspx
http://msdn.microsoft.com/en-us/library/cc768621(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ff407219(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/ms227561.aspx
http://msdn.microsoft.com/zh-cn/library/vstudio/fdhkd3a5.aspx服務器


Question  136
 You are designing a SharePoint 2010 application. You have a requirement to allow access to a Microsoft  Windows .NET Framework assembly across multiple Web applications in a farm. An assembly element has been added to the solution manifest (manifest.xml). You need to ensure that the deployment of the assembly meets the requirements. Which approach should you recommend?
A. Specify a Deployment Target of GlobalAssemblyCache.
B. Specify a Deployment Target of Web Application.
C. Specify a Location of GlobalAssemblyCache.
D. Specify a Location of Web Application.app


解析:
  你開發了一個Sharepoint2010應用程序,在你開發的解決方案的manifest.xml中你加入了程序集元素(assembly element),你須要保證在場內的不一樣Web Application之間能夠訪問這個開發的Microsoft  Windows .NET Framework的程序集,你該如何部署你的開發才能滿組上述須要呢?
  本題使用到了解決方案文件manifest.xml:解決方案指令清單(一般稱爲 manifest.xml)存儲在解決方案文件的根位置。此文件定義要處理的功能、網站定義、資源文件、Web 部件文件和程序集的列表。 在manifest.xml的assembly元素中指定要包含在解決方案中的程序集。 網站

<Solution SolutionId="4AFC1350-F354-4439-B941-51377E845F2B" xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureManifests>
    <FeatureManifest Location="FeatureLibrary\feature.xml"/>
  </FeatureManifests>
  <TemplateFiles>
    <TemplateFile Location="ControlTemplates\Featurelibraryform.ascx"/>
  </TemplateFiles>
  <RootFiles> 
  <!-- These files go into the 12\ directory and can be used for Web services and global resources -->
    <RootFile Location="ISAPI\MyWebService.asmx">
  </RootFiles>
  <Assemblies>
    <Assembly  DeploymentTarget="GlobalAssemblyCache" 
Location="ms.samples.sharepoint.myFeature.dll"/>
  </Assemblies>
</Solution>

其中DeploymentTarget屬性:爲可選屬性,類型爲 Text。程序集部署的首選目標。將程序集複製到由 DeploymentTarget 屬性(對於 Web 應用程序)或全局程序集緩存(對於服務器場)指定的目標。可能的值:
GlobalAssemblyCache   若是程序集是一種場功能,則將其複製到全局程序集緩存。
WebApplication   若是程序集是一種 Web 應用程序功能,則將其複製到虛擬服務器的 bin 目錄。
 因爲本題要求在場內的不一樣Web Application之間能夠訪問這個開發的Microsoft  Windows .NET Framework的程序集,因此應該部署在全局程序集緩存中,即此屬性值爲GlobalAssemblyCache 。ui

所以本題答案應該選  Athis

參考 
http://msdn.microsoft.com/zh-cn/library/ms442108(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ms468837.aspxspa


Question  137
 You are designing a SharePoint 2010 application. You need to plan the deployment of a user control named MyControlTemplate.ascx as a control template. What should be added to the solution manifest (manifest.xml) to achieve this goal?
A. Add a Template File element, specifying a Location of MyControlTemplate.ascx.
B. Add a Template File element, specifying a Location of Control Templates\MyControlTemplate.ascx.
C. Add a Root File element, specifying a Location of MyControlTemplate.ascx.
D. Add a Root File element, specifying a Location of Control Templates\MyControlTemplate.ascx.orm

解析:
  你想要把一個名爲MyControlTemplate.ascx的用戶自定義控件部署成一個控件模板,你該如何添加此元素到解決方案的manifest.xml文件中呢?
  此題的備選項涉及解決方案指令清單(manifest.xml)中的Template File元素與Root File元素。
 Root File元素: 指定將解決方案文件複製到的根路徑。使用此元素可部署由多個功能共享的本地化資源。共享的本地化資源位於 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Resources 文件夾中。例如,如下 XML 部署三個共享的本地化資源文件。

<RootFiles>
  <RootFile Location="Resources\wingtip.resx" />
  <RootFile Location="Resources\wingtip.en-US.resx" />
  <RootFile Location="Resources\wingtip.es-ES.resx" />
</RootFiles>

Template File元素:指定要包括在該解決方案中的模板文件。Sharepoint的模板文件通常都是放在Template目錄下,而控件模板則放在此目錄下的ControlTemplates文件夾下(目錄位置如圖)。

 <TemplateFiles>
    <TemplateFile Location="ControlTemplates\Featurelibraryform.ascx"/>
 </TemplateFiles>


所以本題答案應該選 B

參考 
http://msdn.microsoft.com/zh-cn/library/ms450312(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/aa543424(v=office.14).aspx

相關文章
相關標籤/搜索