Kyl*_*leM 6 visual-studio-2010 sharepoint-2010
场景:我在连接到服务器的客户端上运行代码,并使用Web服务检索有关SharePoint列表的数据.我正在使用Visual Studio 2010"服务引用"来获取我的SP站点的Web服务并从列表中获取我的数据.有用.现在我该如何编写代码,以便当我想从Test转到Production时,我的Web服务调用仍然有效?请注意,Web服务是SharePoint Web服务,我没有写它.我只是用它.我建议可能吗?我确实能够确保两个环境中的站点完全相同(URLS除外)(例如备份SP站点并将其投入生产).谢谢你的任何建议.
摘要:
基本上我正在寻找从测试到生产的最佳方式,而无需重新编译消耗SP Web服务的代码.此外,作为附注,如果有人知道测试/生产sharepoint站点必须有多相似,[为了使Web服务能够在没有任何东西的情况下工作,除了URL被更改] ..这将是有用的信息.
解
项目配置文件可用于指定Web服务位置.VS项目中的.svcdatamap和其他文件仅供设计时使用,实际用于连接SharePoint Web服务的URL作为参数传递给System.Data.Services.Client.DataServiceContext
对象.这只是切线相关,但要创建自己的WCF Web服务,请参阅此链接.顺便说一句,Web服务无需重新编译即可在SharePoint列表具有相同列表名称的任何位置工作,并且您要查询的列具有相同的名称.
Vas*_*kov 15
据我所知,Visual Studio Tools for Office项目允许您在项目中拥有app.config文件.我希望Visual Studio创建app.config文件并添加与Web服务引用相关的必要配置设置.在任何情况下,您都需要在某个地方存储正确的Web服务URL - app.config,注册表甚至数据库.
如果您无法在app.config文件中存储Web服务端点地址信息,则可以手动配置代理.
如果它是在Visual Studio中添加为遗留"Web引用"的.asmx引用,那么您需要做的就是在调用任何Web服务方法之前设置代理对象的Url属性值.例如:
MyASMXWebService proxy = new MyASMXWebService();
proxy.Url = "web service url";
proxy.HelloWorld();
Run Code Online (Sandbox Code Playgroud)如果它是.svc WCF服务引用,那么事情会变得复杂一些.您需要以编程方式创建Web服务端点.例如:
BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress endpoint = new EndpointAddress("web service url");
ChannelFactory<IMyWCFWebService> factory = new ChannelFactory<IMyWCFWebService>(binding, endpoint);
IMyWCFWebService proxy = factory.CreateChannel();
proxy.DoWork();
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
17160 次 |
最近记录: |