在sharepoint 2010中为asp.net web部件定制web.config

时间:2011-11-29 10:32:55

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

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

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

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

所以...

任何人对我的问题有一个很棒的解决方案吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

编辑web.config几乎总是放错像这样的东西。

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

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