我試圖從自定義插件連接到MS CRM的DevelpmentService
,因此我無法使用在將WebReference添加到解決方案時生成的app.config
。使用代碼配置替換app.config中的配置WCF服務
這裏是工作代碼:
var id = new EntityInstanceId
{
Id = new Guid("682f3258-48ff-e211-857a-2c27d745b005")
};
var client = new DeploymentServiceClient("CustomBinding_IDeploymentService");
var organization = (Organization)client.Retrieve(DeploymentEntityType.Organization, id);
和相應的app.config
的一部分:
<client>
<endpoint address="http://server/XRMDeployment/2011/Deployment.svc"
binding="customBinding" bindingConfiguration="CustomBinding_IDeploymentService"
contract="DeploymentService.IDeploymentService" name="CustomBinding_IDeploymentService">
<identity>
<userPrincipalName value="DOMAIN\DYNAMICS_CRM" />
</identity>
</endpoint>
...
</client>
是否有可能時,將不再需要配置文件中的方式改變代碼。怎麼樣?
不幸的是沒有工作... – shytikov
我已經給你什麼也只是一個指導.. 。你將不得不依靠自己的價值觀。我不認爲你可以按照我描述的方式使用「http://server/XRMDeployment/2011/2011/Deployment.svc」作爲你的端點地址。你需要一個真實的URL。並且您在「CustomBinding_IDeploymentService」 中定義的值需要添加到我提供的代碼示例的相應位置中。 – Brian
這就是我想要做的,但不幸的是,在我的配置中沒有'contract'的地方。 'EndpointIdentity'根本不用在你的代碼中。 'default(System.ServiceModel.EndpointIdentity)'返回null。 '默認(System.ServiceModel.BasicHttpBinding)'返回null以及... – shytikov