我有一个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?
答案 0 :(得分:2)
网页部分作为网站的一部分运行。它应该从站点的web.config
中获取这些配置,因此请尝试将配置从webpartname.dll.config
插入web.config
文件(这需要一点点来保持相同的部分,但并不复杂)
答案 1 :(得分:2)
还有SPConfigStore。如果服务器场中有多个服务器,并且您希望将Web服务URL保存在存储在SharePoint数据库中的中心位置,则这是一个合适的解决方案。