我有一个 MOSS 2007 Web 部件,它显示从外部 Web 服务获取的数据(不是源自 sharepoint)。
它是使用 VS2009 创建的,webpart 项目包含对我的 WebService 的 WebReference,它使用以下代码进行连接(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...如果我想将 Web 部件移动到另一个环境,我需要重新编译整个内容才能更改 Web 服务 URL
此外,当我编译 Webpart 项目时,它会创建一个 webpartname.dll.config 文件,其中包含 Web 服务的 URL...但是此配置文件不执行任何操作。如果我更改它,或者只是从 BIN 文件夹中删除它,Web 部件仍然连接到旧 URL...URL 似乎是硬编码在 Web 部件 DLL 中。
有没有办法配置 Web 部件,以便它在配置文件中查找其 Web 服务 URL?
最佳答案
Web 部件作为网站的一部分运行。它应该从网站的 web.config
获取这些配置,因此请尝试将配置从 webpartname.dll.config
插入 web.config
文件(这需要一些时间来维护相同的部分,但并不复杂)。
关于web-services - 共享点 2007 : How to change a custom webpart webservice URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1428782/