把ASP.NET网页转移到SharePoint网页的方法

本文介绍了一种将现有ASP.NET应用程序转换为可在Windows SharePoint Services 3.0 (WSS3.0)平台上运行的方法。通过使用WebDeploymentSetup工具及一系列配置调整,实现了旧版ASP.NET网站与WSS3.0的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司原有一个局域网,经过多年的修修补补,已经创建了不少的内容,包括一些数据库查询报表、工作流等网站,这些网站有一些是用ASP.NET来开发的,并且用了很多年,积累了很多业务数据;现在公司想把局域网用WSS3.0来架设,这就面临到一个很棘手的问题,就是怎样来处理这些旧的网页。如果推倒重来,那么工作量将是非常吓人的,没有个两、三年是完不成的;如果继续保留,新旧网站同时并存,那么门户网站将成为一个别扭的混血儿,会更加的混乱不堪。对于一些简单的ASP.NET网站,我们采用以下的方法,把它们转成可以在WSS3.0平台上面运行的网站,这样我们尽量不去改动原有系统里面的逻辑,只是简单的包装一下,工作量会少很多。下面的步骤运用一个最简单的HelloWorld网页作为例子,记录一下转化的步骤和注意事项。

 

1、假如有一个ASP.NET的网页,它有一个MyWebForm.aspx的页面,按一下Hello按钮,然后在文本框里面显示“Hello World”,它的工程文件如下图:

 

01

 

 它的CodeBehind代码如下:

 02

2、我先在WSS网站上面创建一个“Pages”的文件夹,然后把这个MyWebForm.aspx拷贝到Pages文件夹里面,看能不能在IE里面浏览它;

03

 

3、结果浏览器报告以下错误,看来ASP.NET的网页是不能直接在WSS里面运行的;

04

4、一开始我以为是缺少了网页所对应的DLL的原因,于是我把MyWebApplication.dll也拷贝到WSS网站的Bin文件夹里面,但是浏览器仍然报告发生上面的错误;

 

06

 

5、要能够容易的把我们的ASP.NET网站转成WSS上面能运行的网站,我们需要一个工具的帮忙,它就是微软的WebDeploymentSetup,它的下载地址是:http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi (for vs2008),把它下载下来安装后,用鼠标右键单击ASP.NET网页的工程文件,就会多出来一个“Add Web Deployment Project...”的菜单项:

07

8、单击这个菜单项后输入项目的名称,我用默认的名称,如下:

 08

 

9、按“OK”按钮后这个工具帮我创建了一个新的工程文件: 

 09

10、先用鼠标右键单击MyWebApplication工程文件,然后进入“Property”设置页,在Signing标签页创建一个强命名文件:MyWebApplitionKey.snk,对这个工程进行强命名;

11

 

11、按“OK”后,在MyWebApplication文件夹里面就多了这一个文件:

12

 

13

 

12、用鼠标右键单击这个工程文件,选择“Property Pages”菜单项; 

10

 

14、在Signing标签页选中上面步骤生成的MyWebApplicationKey.snk强命名文件;

14

 

15、打开IIS管理器,然后右键选中WSS的网站:SharePoint-80 ,然后选择“Open”菜单项;

 

15

 

16、打开Web.config文件;

16

17、在<PageParserPaths>里面增加一行:<PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />

17

 

18、在<safeControls>里面增加一行:<SafeControl Assembly="SampleWebSiteAssembly"  Namespace="SampleSiteNamespace" TypeName="*" Safe="True" />来声明MyWebApplication.dll为安全的控件;

18

 

19、打开SharePoint Designer 2007,准备导入原先的网页文件到SharePoint网站里面;

19

20、按“Add File”按钮;

20

21、在MyWebApplication.csproj_deploy工程里面(注意:不是MyWebApplication工程)的文件夹里面找到MyWebForm.aspx文件;

 

21

22、把编译后的dll拷贝到SharePoint网站的Bin文件夹内,注意应该从MyWebApplication.csproj_deplyoy工程里面的Debug文件夹里面把MyWebApplication.dll拷贝过去:

27

 23、上一步导入MyWebForm.aspx到SharePoint的pages文件夹里面后,就可以在浏览器里面打开这个页面,可以看到,原先不能在SharePoint平台里面运行的ASP.NET网页,现在可以运行了;

22

23、上面步骤网页虽然可以运行了,但是页面的布局是原先的布局,如果要想给网页加上SharePoint的页面布局,则可以利用MasterPage的特性。用SharePointDesigner2007打开MyWebForm.aspx文件,在 <%A Page 标签里面加入MasterPageFile属性,然后选择SharePoint默认的MasterPage: default.master: 

 23

  24、加入上面的MasterPageFile属性后,在浏览器里面刷新,会发生以下的错误,因为页面里面没有用<asp:Content>标签来引用MasterPage的PlaceHolder;

 

 24

25、把下面的内容从MyWebForm.aspx里面删掉;

25

26、然后增加以下内容:

28

27、在浏览器里面刷新,就可以看到MyWebForm.aspx已经具有SharePoint的默认布局了;

26

 

 

如果在工程中用到ADO.NET组件,系统则会报告以下错误:

System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed

 

解决办法就是用gacutil 这个工具把工程的DLL文件注册到GAC中就行了。

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值