如何在sharepoint下包含我的asp.net网站?

Red*_*wan 0 asp.net application-integration sharepoint

我有一个带有 c# + sql server 2008 连接 + css + javascripts + ajax 的 asp.net 网站。我有一个解决方案。我想在 sharepoint 下运行这个网站。我必须做些什么来整合这个?

小智 6

您需要创建一个子目录,作为buffer阻止/删除从 .net 2 / 3.5 框架继承的项目,然后在此下创建您的应用程序。

假设您将buffer应用程序命名为apps,并且您的自定义 .NET 4.0 应用程序被称为myapp,则您生成的应用程序将驻留在:

http://[sharepoint-site]/apps/myapp/

这该怎么做:

  1. apps在 SharePoint 网站的根目录下 创建子目录

  2. 进入apps目录的安全性并添加everyone读取权限

  3. 在 IIS 中,将其转换为应用程序并选择运行 SharePoint 网站的相同应用程序池

  4. 在 下创建一个 web.config /apps/,这将阻止/删除 SharePoint 内容(代码块见下文)

  5. myappapps(例如/apps/myapp/)下创建您的目录

  6. 在 IIS 中,进入 Application Pools,创建一个新的 AppPool, MyApp .NET v4.0

  7. 进入Advanced Settings>Identity并添加您的 SharePoint 网站正在使用的相同 AD 域用户帐户凭据

  8. 仍然在 IIS 中,返回myapp并转换为应用程序并选择MyApp .NET v4.0AppPool

  9. 复制你的代码,你就完成了!

apps目录中的 web.config 文件:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <httpHandlers>
      <remove path="Reserved.ReportViewerWebControl.axd" verb="*" />
    </httpHandlers>
    <httpModules>
      <clear/>
    </httpModules>
    <webParts>
      <transformers>
        <clear />
      </transformers>
    </webParts>
  </system.web>

  <system.webServer>
    <handlers>
      <remove name="OwssvrHandler" />
      <remove name="ScriptHandlerFactory" />
      <remove name="svc-Integrated" />
      <remove name="ScriptHandlerFactoryAppServices" />
      <remove name="ScriptResource" />
      <remove name="JSONHandlerFactory" />
      <remove name="ReportViewerWebPart" />
      <remove name="ReportViewerWebControl" />
    </handlers>
    <modules>
      <!-- depending on any customizations, you may have to add/remove items from this list as needed -->
      <remove name="SPRequestModule" />
      <remove name="ScriptModule" />
      <remove name="SharePoint14Module" />
      <remove name="StateServiceModule" />
      <remove name="PublishingHttpModule" />
      <remove name="RSRedirectModule" />
    </modules>
    <httpErrors errorMode="Detailed"></httpErrors>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)