【问题标题】:Not able to connect to MS CRM 365 on-premise?无法连接到本地 MS CRM 365?
【发布时间】:2018-09-26 09:07:16
【问题描述】:

我正在尝试通过 C# 连接到本地 CRM 365,但出现错误:-

由于内部错误,服务器无法处理请求。有关该错误的更多信息,请在服务器上打开 IncludeExceptionDetailInFaults(来自 ServiceBehaviorAttribute 或来自配置行为)以便将异常信息发送回客户端,或者根据 Microsoft .NET Framework SDK 文档打开跟踪和检查服务器跟踪日志。

我的连接代码是:-

        ClientCredentials credentials = new ClientCredentials();
        credentials.UserName.UserName = ConfigurationManager.AppSettings["CRMUser"]; //I Tried with & without domain name Ex: domain\crmadmin and crmadmin
        credentials.UserName.Password = ConfigurationManager.AppSettings["CRMPassword"]; //Ex : 123456

        string CRMURL = ConfigurationManager.AppSettings["CRMURL"].ToString(); // http://domain/XRMServices/2011/Organization.svc

        OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(new Uri(CRMURL), null, credentials, null);

当我开始使用“serviceProxy”创建记录或检索记录时出现上述错误。 例如:serviceProxy.Create(Entity);

请给点建议。

【问题讨论】:

    标签: c# dynamics-crm dynamics-crm-365


    【解决方案1】:

    将控制台应用程序连接到 D365 的首选方式是使用 Microsoft.Xrm.Tooling.Connector.CrmServiceClient

    This article 概述了各种连接字符串格式。

    看起来您的组织是本地的,因此您可以使用集成安全性:

    var connectionString = "AuthType=AD;Url=http://contoso:8080/Test;" 
    var svc = new CrmServiceClient(connectionString);
    

    或指定用户凭据:

    var connectionString = "AuthType=AD;Url=http://contoso:8080/Test; Domain=CONTOSO; Username=jsmith; Password=passcode" 
    var svc = new CrmServiceClient(connectionString);
    

    请注意连接字符串中附加到 URL 的组织名称(在本例中为“Test”)

    另外,上面的代码需要:

    using Microsoft.Xrm.Tooling.Connector;
    

    【讨论】:

    • 亲爱的 Aron ,我已经尝试按照您的方式进行操作,但没有找到 dll 文件。我找到了 .nupkg 扩展名,但我无法在我的服务器中使用它,因为服务器上没有互联网。你能帮我提供我可以下载dll文件的链接吗?
    • 在您的项目中,右键单击“引用”节点并选择“管理 NuGet 包”。在浏览下搜索“xrm tooling”。安装 Microsoft.CrmSdk.XrmTooling.CoreAssembly 就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 2016-02-12
    • 2019-08-12
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    相关资源
    最近更新 更多