posts - 57,  comments - 27,  trackbacks - 0
  2011年11月8日

卸载解决方案
UnInstall-SPSolution -Identity abcd.wsp -AllWebApplication

移除解决方案
Remove-SPSolution -Identity abcd.wsp

添加解决方案
Add-SPSolution D:\directory\abcd.wsp

安装解决方案
Install-SPSolution -Identity abcd.wsp -WebApplication http://url/ -GACDeployment

备份站点集
Backup-SPSite -Identity http://url/ -Path D:\abcd.bak -Force

还原站点集
Restore-SPSite -Identity http://url/ -Path D:\abcd.bak -Force

posted @ 2011-11-08 17:49 追杀 阅读(131) 评论(0) 编辑
  2011年5月12日

初次学习sharepoint,本文采用的方法很可能不是最好的,如果您有更好的办法,请在回复中说明,谢谢.

  1. 新建一个SiteDefinition (Farm),并修改webtemp文件中Template的ID(大于10000的任何一个数字,并且不可和已有的SiteDefinition重复)
  2. 在解决方案资源管理器中(Ctrl+W,S)展开SiteDenfinition节点,右键单击SiteDefinition节点,Add->Add New Item 在对话框中右侧选择Visual C# –> Web,右侧选择HTML Page对话框下面的Name更改为 MyMaster.master(这个名称可以自定义).
  3. 更改刚刚加入的MyMaster.master的内容为:
    <%@ Master Language="C#" %>
    
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
        Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
    <%@ Register TagPrefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages"
        Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register TagPrefix="wssuc" TagName="Welcome" Src="~/_controltemplates/Welcome.ascx" %>
    <%@ Register TagPrefix="wssuc" TagName="MUISelector" Src="~/_controltemplates/MUISelector.ascx" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html id="Html1" lang="<%$Resources:wss,language_value%>" xmlns:o="urn:schemas-microsoft-com:office:office"
    runat="server" dir="<%$Resources:wss,multipages_direction_dir_value%>">
    <head id="Head1" runat="server">
        <meta http-equiv="X-UA-Compatible" content="IE=8" />
        <meta name="GENERATOR" content="Microsoft SharePoint" />
        <meta name="progid" content="SharePoint.WebPartPage.Document" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="Expires" content="0" />
        <title>master-><asp:ContentPlaceHolder ID="PlaceHolderPageTitle" runat="server">
        </asp:ContentPlaceHolder>
        </title>
    </head>
    <body>
        <WebPartPages:WebPartManager ID="WPManager" runat="server" />
        This is a master page!
        <asp:ContentPlaceHolder ID="PlaceHolderMain" runat="server">
        </asp:ContentPlaceHolder>
    </body>
    </html>
    这是一个简单的母版页,简单到基本上啥也没有.
  4. 更改onet.xml文件.
    打开onet.xml文件,你会发现Project –> Modules –> Module[Name=DefaultBlank] 节点下已经包含了我们刚刚添加的master文件MyMaster.master
    我们在Project –> Modules 下添加一个 Module[Name=MasterPage]并设置其Url为_catalogs/masterpage
    将Module[Name=DefaultBlank]节点下的File[Url=default.aspx]节点移动到Module[Name=MasterPage]节点下.
    在Project->Configuration->Modules中添加我们刚刚新建的Module[Name=MasterPage]节点
    修改后的onet.xml文件大致为:
    <?xml version="1.0" encoding="utf-8"?>
    <Project Title="ZhuiSha.SiteDefinition" Revision="2" ListDir="" xmlns:ows="Microsoft SharePoint" xmlns="http://schemas.microsoft.com/sharepoint/">
      <NavBars>
      </NavBars>
      <Configurations>
        <Configuration ID="0" Name="ZhuiSha.SiteDefinition" CustomMasterUrl="_catalogs/masterpage/MyMaster.master">
          <Lists/>
          <SiteFeatures>
          </SiteFeatures>
          <WebFeatures>
          </WebFeatures>
          <Modules>
            <Module Name="MasterPage" />
            <Module Name="DefaultBlank" />
          </Modules>
        </Configuration>
      </Configurations>
      <Modules>
        <Module Name="MasterPage" Url="_catalogs/masterpage">
          <File Path="MyMaster.master" Url="MyMaster.master" />
        </Module>
        <Module Name="DefaultBlank" Url="" Path="">
          <File Url="default.aspx" Path="default.aspx">
    
          </File>
        </Module>
      </Modules>
    </Project>
  5. 修改SiteDefinition –> default.aspx 为:
    <%@ Page language="C#" MasterPageFile="~masterurl/custom.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"  %>
    <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
    <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Import Namespace="Microsoft.SharePoint" %>
    <%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
    <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
    
    <asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <h1>
            Welcome to the custom site
            MySiteDefinition
        </h1>
        <WebPartPages:WebPartZone id="Zoon1" runat="server" title="Zoon1"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
    </asp:Content>
    
  6. 发布(右键点项目节点,选择Deploy)
  7. 新建一个Site Collection 并选择模板为ZhuiSha.SiteDefinition.新建完成后打开新建的网站,即可看到效果.
  8. 再次声明,初学SharePoint,希望懂行的多指教.PS:SharePoint难道这么多的东西都需要猜么,太没意思了…生病
  9. posted @ 2011-05-12 11:28 追杀 阅读(807) 评论(3) 编辑
  2011年5月5日

IDE:Visual Studio 2010

语言:C#

SharePoint版本:2010

1):新建SiteDefinition项目.

1

2):更改SiteDefinition的ID

展开SiteDefinition节点,找到webtemp_$projectname$.xml文件并打开,修改Template节点的ID为其他(跟Exchange中现有的SiteDefinition的ID不可重复否则会报错)

3):定制一些东西

展开SiteDefinition节点,找到Default.aspx并打开,修改Content1的内容为

Hello World!

<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
    <h1>
        Hello World!
    </h1>
</asp:Content>

4):发布一下

2

5):在sharepoint中创建Site Collection(网站集),选择模板为我们刚刚创建的那个.(如果找不到则选择模板上上面的语言为英语),或者项目中SiteDefinition节点下找到webtemp_$projectname$.xml右键选择属性(F4),在打开的属性面板中展开Deploy Location,并修改Path为2052\xml\即可(默认为1033英文,2052中文,其他语言请查找LCID).

3

成功创建网站(http://xxxxxxxxxx:1111/sites/xxxtest),打开网站.

image

创建成功.

posted @ 2011-05-05 14:14 追杀 阅读(67) 评论(1) 编辑
  2011年4月20日

首先请管理员允许我占用首页的一点点地方来统计一下解决方案,这个问题我在群里面问过了,深重考虑还是征求更多人的意见和想法,同时也为大家解决一个疑问吧.

在EntityFramework 结合Web 的使用中,我发现有如下的问题:

1):如果使用Repository模式的话,一般来说,每个具体的Repository中都会有一个Context(ObjectContext,或者DbContext)属性来执行具体的数据访问操作.

2):一个页面(或者一个Controller/Action)中,也就是一个请求中,通常会面对多个Repository

3):多个Context实例之间不会共享缓存.

--------------------------------------------------------------------------

那么我的问题是:

你们在使用的过程中是一个HttpRequest一个Context实例,还是每次使用都新建一个实例.

如果您采用的策略是:一个HttpRequest对应一个Context实例请答复A

如果您采用的策略是:每次都新建Context实例请答复B

如果您采用的是其他策略请答复C.

可以的话请附上您的理由.(很重要哦)

谢谢.

posted @ 2011-04-20 13:05 追杀 阅读(1100) 评论(1) 编辑
  2010年5月7日

1.2   数学准备

在这一节,我们将会对本书中所用到的一些基本的数学记号和公式进行讲解.如果你不想过多的设计这些复杂的数学推导,至少应该熟悉一下各个公式的含义,以便能够更好的使理解这些公式.

我们主要在两个方面用到数学公式和记号,一是用来描述整个算法的各个部分,二是用来分析算法的性能.

1.2.1          数学归纳法

令P(n)为关于n(n为整数)的一个命题,例如,P(n)可以是:n乘以(n+3)是一个偶数,或者”如果n≥10,则2n>n3”,如果我们想证明P(n)的正确性,那么,我们可以依照一下的步骤来:

a)       证明P(1)为真

b)       证明 ”如果P(1),P(2),P(3),…,P(n)都为真,那么P(n+1)也为真.

 

例如,很久以前人们就已经发现了如下的等式:

1 = 12

1+3 = 22

1+3+5 = 32 ………………………………………………………………………………………………………………….(1)

1+3+5+7 = 42

1+3+5+7+9 = 52

于是我们可以大胆的假设

1+3+5+…+(2n-1) = n2 …………………………………………………………………………………………………..(2)

现在我们暂且把(2)式称为P(n),并希望能够证明P(n)对于任意的正整数n都成立,根据数学归纳法的步骤,我们需要:

a)       P(1) 为真,因为 1 = 12

b)       如果 P(1),P(2),……,P(n)都为真.那么由于P(n)为真,于是等式(2)成立,在等式(2)的两边同时加上 (2n+1)则

1+3+…+(2n-1)+(2n+1) = n2 + 2n + 1 = (n+1)2

这样就证明了 P(n+1) 也为真

 

我们可以吧上面的步骤看做一个算法的证明步骤.

算法I: (构造一个证明).给出一个正整数n,这个算法将输出P(n)为真的证明

I1: [证明P(1)] 设k <- 1,并且根据a)输出一个P(1)的证明

I2: [k=n?] 如果k=n,那么算法终止,所需的证明已经输出

I3: [证明P(k+1)]根据b),输出一个关于”如果P(1),P(2),…,P(n)都为真,则P(k+1)为真”的证明.而且输出”我们已经证明了P(1),P(2),…,P(k),因此P(k+1)为真”

I4: [递增k] k加 1并转到I2.

该算法的框图:

 

由于这一算法显然给出了P(n)对任何给定的n的一个证明,因而我们知道,上述的证明技术(a),(b)在逻辑上是正确的(me:有点牵强啊,记得当初高代课,我们证明过,写了两大黑板的).这个证明方法就叫做数学归纳法证明.

需要注意的是,要把”数学归纳法”的概念和”归纳推理”区别开来.一个科学家通过特定的观察并且通过”归纳”,从而建立起说明这些事实的一般理论或假设.例如他可以通过观察(1)中的5个式子并且给出关系式(2).因此,归纳充其量不过是人们对某些事物的一些猜测.在数学领域里,我们将把这说成一个经验结果或一个猜测.

例如我们可以看看下面这个例子: 令P(n) 表示对n的划分的数目,也就是说,不管n的次序,把n写成若干个整数和的不同的方法的数目.由于:

5 = 1+1+1+1+1 = 2+1+1+1=3+1+1=2+2+1=3+2=4+1=5

因此我们有P(5) = 7.前几个值显然的我们可以得到

P(1) = 1, P(2) = 2, P(3)=3, P(4)=5, P(5)=7

那么,至此我们可以通过 “归纳”(me:注意,是归纳,不是数学归纳),而得出一个假设,P(n)将会跑遍所有质数. 为检验这个假设,我们来计算P(6) 而P(6) =11 和我们的推测是相符的.

(但是,很不荣幸的是,P(7)却等于15,完了,我们必须进行新的假设,)

而,另一方面,数学归纳法也完全不同于我们平常的”归纳”方法.它是有理有据的,而不是完全猜测的(me:有点熟悉,好像政治课本里面经常有这种语句). 实际上,由于对每个n都有一个结论,因而是无限多个的命题的一个证明.它之所以叫做数学归纳法,仅仅是因为,人们在应用数学归纳法之前需要稍微判定一下,他需要证明的是什么.

 

posted @ 2010-05-07 07:54 追杀 阅读(57) 评论(0) 编辑