希望这里有人可以帮我解决这个问题!
我正在为 Microsoft CRM 编写一个自定义插件,它在创建或更新某些实体时,在我们的 Sharepoint 实例的后台执行一些任务,这些任务无法通过 CRM 工作流完成,因为它们没有功能.
问题是,在创建服务引用时,Web 服务的定义、端点地址等都存储在 DLL 的 .config 文件中。部署 CRM 插件时,.config 文件在将其部署到磁盘或数据库时不可用,并且一旦我尝试使用 Web 服务,插件就会失败。
我查看了 BasicHttpBinding 的一些文档,但我不完全确定如何以编程方式创建 Web 服务,以便它完全包含在 DLL 中。
我不担心能够在不重新编译的情况下修改细节,因为无论如何代码几乎都是静态的。
我试过在项目中定义服务参考,作为“TestDws”
BasicHttpBinding SharepointWS = new BasicHttpBinding();
SharepointWS.Name = "SharepointWebservice";
EndpointAddress EndPoint = new EndpointAddress("http://hostname/_vti_bin/dws.asmx");
TestDws.DwsSoapClient temp = new TestDws.DwsSoapClient(SharepointWS, EndPoint);
但是,该插件此时只是废话。
原来的 .config 没有更多的配置方式
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="DwsSoap" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://hostname/_vti_bin/dws.asmx"
binding="basicHttpBinding" bindingConfiguration="DwsSoap"
contract="TempDws.DwsSoap" name="DwsSoap" />
</client>
</system.serviceModel>
</configuration>