Sharepoint 2007:如何更改自定义Webpart Web服务URL?

时间:2009-09-15 18:07:57

标签: web-services sharepoint .net-3.5 sharepoint-2007 web-parts

我有一个MOSS 2007 Webpart,显示从外部Web服务(不是来自sharepoint)获取的数据。

它是使用VS2009创建的,webpart项目包含一个WebReference到我的WebService,它使用以下代码建立连接(该URL在WebReference中配置):

    //get xml sitemap from webservice
    MenuService.MenuService service = new MenuService.MenuService();
    service.Credentials = System.Net.CredentialCache.DefaultCredentials;
    XmlNode sitemapRootNode = service.GetSiteMapXML();

我编译了webpart,将其部署在BIN文件夹中,一切正常。

但是我无法更改Web服务URL ...如果我想将webpart移动到另一个环境,我需要重新编译整个内容以更改Web服务URL

另外,当我编译webpart项目时,它会创建一个 webpartname.dll.config 文件,其中包含webservice的URL ...但是这个配置文件什么都不做。如果我更改它,或者只是从BIN文件夹中删除它,webpart仍然连接到旧URL ... URL似乎是在webpart DLL中硬编码。

有没有办法配置webpart,以便在配置文件中查找其webservice URL?

2 个答案:

答案 0 :(得分:2)

网页部分作为网站的一部分运行。它应该从站点的web.config中获取这些配置,因此请尝试将配置从webpartname.dll.config插入web.config文件(这需要一点点来保持相同的部分,但并不复杂)

答案 1 :(得分:2)

还有SPConfigStore。如果服务器场中有多个服务器,并且您希望将Web服务URL保存在存储在SharePoint数据库中的中心位置,则这是一个合适的解决方案。