【问题标题】:Custom web.config for asp.net web part in sharepoint 2010Sharepoint 2010 中 asp.net Web 部件的自定义 web.config
【发布时间】:2011-11-29 10:32:55
【问题描述】:

基础: 我创建了一个要部署到 Sharepoint 2010 站点的 ASP.NET Web 部件。此 Web 部件使用外部 Web 服务,即托管在其他位置的 WCF 服务,而不是与 Sharepoint 站点位于同一台计算机上。 Web 部件使用通过部署项目创建的 CAB 文件安装在 sharepoint 服务器上。

问题: 我的问题是我的 ASP.NET Web 部件解决方案的 web.config 中有 Web 服务绑定配置,我需要根据客户正在使用它进行修改,因此我需要能够在安装后修改我的绑定地址(或期间)。

其他: 我已经看到使用 SPWebConfigModification 的解决方案,但我没有本地安装 Sharepoint,所以这不是一个选项。我还看到了纯 C# 解决方案,其中端点地址在程序集中进行了硬编码,但这会阻止我在 Web 部件编译后修改地址。最好的方法是拥有一个外部 txt/xml 文件,我可以使用该文件从我的 Web 部件中获取端点地址,或者是一种不使用 SPWebConfigModification 更新共享点 web.config 的智能方法。

所以...

有人对我的问题有很好的解决方案吗?

【问题讨论】:

    标签: wcf sharepoint web-config web-parts endpoint


    【解决方案1】:

    您能否使用包含 WCF 端点信息的自定义 Web 部件属性?这样,您将能够在将 Web 部件添加到页面后对其进行配置。这些属性可从 webpart 代码访问,因此您可以在运行时生成 wcf 代理,而解决方案中没有自定义配置文件。

    本文可能会帮助您使用自定义属性http://www.lamber.info/post/2010/05/21/How-do-I-create-custom-properties-in-Visual-Web-Parts.aspx

    【讨论】:

    • 感谢您的链接,我认为这是要走的路。将尝试并返回成功或失败=)
    【解决方案2】:

    编辑 web.config 几乎总是放置这样的错误的地方。

    Maks 的回答很好,当然也是最简单的选择,如果您想将 Web 服务的地址存储在一个地方以供多个 Web 部件实例使用,那么这个选项可能会更好。

    SO - What is a proper way to store site-level global variables in a SharePoint site?

    【讨论】:

    • 我无权访问我的开发人员计算机上的 Microsoft.SharePoint api,并正在寻找基于不使用 Microsoft.SharePoint 命名空间的解决方案,以便团队中的任何开发人员都可以编写 Web 部件到产品。所以这个解决方案对我不起作用,但无论如何谢谢。
    • 如果您决定不使用 SharePoint API,那么这不是一个 SharePoint 问题,不应这样命名和标记!
    猜你喜欢
    • 1970-01-01
    • 2011-12-17
    • 2015-09-09
    • 2011-06-13
    • 2012-01-20
    • 2011-04-12
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多