C# CrmServiceClient IsReady在先前调用后为false和null

C# CrmServiceClient IsReady在先前调用后为false和null,c#,.net,dynamics-crm,crm,xrm,C#,.net,Dynamics Crm,Crm,Xrm,如果我在运行下面的代码后立即尝试运行它,“svc”将为null,并且它的IsReady属性将为false: string url = "https://NapProd.napster.net/NAPs/"; string userName = "nappy@napster.net"; string password = "nap"; string connectionString = $@"

如果我在运行下面的代码后立即尝试运行它,“svc”将为null,并且它的IsReady属性将为false:

        string url = "https://NapProd.napster.net/NAPs/";

        string userName = "nappy@napster.net";

        string password = "nap";

        string connectionString = $@"

                            Url = {url};
                            AuthType = AD;
                            Domain = napster;
                            UserName = {userName};
                            Password = {password};
                            RequireNewInstance = True";

        using (var svc = new CrmServiceClient(connectionString))
        {
            WhoAmIRequest request = new WhoAmIRequest();

            WhoAmIResponse response = (WhoAmIResponse)svc.Execute(request);

            Console.WriteLine("Your UserId is {0}", response.UserId);
            Console.WriteLine(svc.IsReady.ToString());

            Console.WriteLine("Press any key to exit.");

        }
常规例外情况:

System.NullReferenceException: 'Object reference not set to an instance of an object.'
以下是堆栈跟踪:

   at Microsoft.Xrm.Tooling.Connector.CrmServiceClient.Execute(OrganizationRequest request)
   at DeploymentDataTester.Program.Main(String[] args) in C:\Dev\JaqNycapsDataFeed\DeploymentDataTester\Program.cs:line 60
最后一个错误:

Unable to Login to Dynamics CRMObject reference not set to an instance of an object.OrganizationWebProxyClient is nullOrganizationWebProxyClient is null

现在,如果我等一两分钟,然后再次运行该程序,它工作正常。另外,我还利用了using语句来处理连接,所以不确定会给出什么,或者在一个新连接后默认情况下Dynamics是否会超时一分钟左右?

我在处理类似问题时发现了这篇文章。当我期望连接对象处于良好工作状态时,IsReady为false。我已经验证了连接字符串是否正确(至少…一个正常运行的url和正确的登录信息)。如果删除“IsReady”的测试,则会得到null异常。我想可能是“using”语句也导致了这个问题,所以我删除了它,只是自己声明了连接对象。那也没用

我发现密码里面有一个分号。。。这会导致问题,因为连接字符串认为这是密码的结尾。显然,你可以在密码周围加上单引号来处理分号,但是你需要用单引号来转义密码。。。

但这也没能解决我的问题。最终让我克服这一障碍的是,我注意到我在代码中访问了错误的Dynamics CRM沙盒,但在手动测试时却是正确的。希望我的过程中的某些部分有助于解决您的问题