問題タブ [xrm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linq-to-entities - モデル オブジェクトを設定するためのベスト プラクティス
Person.cs、Car.cs、Manufacturer.cs のようないくつかのモデル クラスがあり、それぞれにさまざまなデータ型の 30 ~ 40 のプロパティがあるとします。これらのモデルは、Guid (主キー) の一致に基づいて、「XrmContext」と呼ばれる Linq ベースのフレームワークを使用して設定する必要があります。
これを行う通常の方法は、各列に1つずつ手動で入力します
.... 各プロパティを 1 つずつ設定する、このような 20 ~ 30 のステートメント。
Linq DataSource 属性とモデル プロパティの間のマッピングを定義できる、より良い方法はありますか。
object - XRM / DynamicsCRM2011のOrganizationServiceProxyの接続/オブジェクトプール
アーリーバウンドを使用してXRM2011を使用するMVC3WebAppを作成しています。これは、DynamicsIISとは別のマシンでホストされるインターネット向けアプリケーションです。
もちろん、これにより、OrganizationServiceProxyが非常に頻繁に呼び出され、最初のヒットごとに応答が遅くなります。
毎回新しいインスタンスを作成するのではなく、OrganizationServiceProxy接続を再利用することをお勧めしますか?
そうであれば、
- 次のような接続を管理するものはありますか
- 接続プールアプリ-MSまたはサードパーティ/オープンソース
- またはWCFのようなフレームワーク(まだWCFを使用したことはありません)
- 接続を管理するために独自のコードを作成する必要がある場合、どのデザインパターンが推奨されますか?
MSのウェブサイトからの重複した投稿でごめんなさい。うまくいけば、このフォーラムはもっと活発です。
web-services - Dynamics2011XRMおよびWebサービスフレームワーク-ServiceStack/WCF / OpenRasta
ServiceStackを使用してXRMエンティティをWebサービスとして公開しようとしていますが、循環/循環依存が原因でエラーが発生する可能性があります。誰かがそれを成功/失敗して試しましたか?
また、テリトリーのような1つの単純なエンティティのプロキシクラスを作成し、そのクラスを使用して公開してみました。
ところで、プロキシクラスを作成するのは楽しいことではありませんが、VS2010でそれを行う簡単な方法はありますか?
これが機能しない場合、私のオプションは何ですか?
次の機能(理想的にはServiceStackのほとんど)を探しています。
- Webサービス-REST&SOAP
- キャッシング
- 認証
OpenRastaはWCFよりも優れていますか?繰り返しになりますが、NuGetがなければ、OpenRastaは簡単ではありませんでした...
PS:これはDynamicsForumにも投稿されています。
crm - タイプPickListのプロパティ値を設定するときに動的エンティティを更新中にエラーが発生しました
Contactエンティティにカスタム属性( "custom_contacttype")を追加しました。この属性は、7つの値で構成される選択リストタイプです。CRM4.0に対してMicrosoftDynamicsCRMのAdvancedDeveloperExtensionsを使用して開発しています。この属性の値を設定してSaveChanges()を呼び出すと、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。エラー。私はしばらくこれと戦ってきました。私は何が間違っているのですか?以下は私のコードです:
CRMサーバーからのトレースログ:[2011-07-01 16:39:33.7]プロセス:w3wp |組織:f827deb3-c6cc-df11-bc07-005056887b79 |スレッド:8 |カテゴリ:Platform.Sdk |ユーザー:822138f1-c574- e011-9dca-005056887b79 |レベル:エラー| PluginStep.Execute at PluginStep.Execute(PipelineExecutionContext context)at Pipeline.Execute(PipelineExecutionContext context)at MessageProcessor.Execute(PipelineExecutionContext context)at InternalMessageDispatcher.Execute(PipelineExecutionContext context)at ExternalMessageDispatcher.Execute(String messageName、Int32 primaryObjectTypeCode、Int32フィールド、CorrelationTokencorrelationToken、CallerOriginToken originToken、UserAuth userAuth、Guid callerId)at CrmServiceInternal.Update(String namespaceName、BusinessEntityBase entity、CorrelationTokencorrelationToken、
SdkMessageProcessingStepIdでWebサービスプラグインが失敗しました:{27DF4121-19BC-DF11-A90E-005056887B79}; EntityName:連絡先; ステージ:10; メッセージ名:更新; AssemblyName:AccessCRM.ChangeLogContactData、AccessCRM、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = a030c130976783ab; クラス名:AccessCRM.ChangeLogContactData; 例外:未処理例外:System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。AccessCRM.PluginUtilities.GetStringValueFromProperty(Property p)at AccessCRM.ChangeLogContactData.Execute(IPluginExecutionContext context)at Microsoft.Crm.Extensibility.PluginStep.Execute(PipelineExecutionContext context)。[2011-07-01 16:39:33.7]プロセス:w3wp |組織:f827deb3-c6cc-df11-bc07-005056887b79 |スレッド:8 |カテゴリ:Platform.Sdk |ユーザー:822138f1-c574-e011-9dca-005056887b79 |レベル:エラー| PluginExecutionExceptionHandler.Handle at PluginExecutionExceptionHandler.Handle(Stream from、Stream to、Exception exception)at CompositeSoapExtensionExceptionHandler.Handle(Stream to、Stream from、Exception exception)at CrmAuthenticationSoapExtensionBase.ProcessMessage(SoapMessage message)at SoapMessage.RunExtensions(SoapExtension [] extends、Boolean throwOnException)at SoapServerProtocol.WriteException(Exception e、Stream outputStream)at WebServiceHandler.WriteException(Exception e)at WebServiceHandler.Invoke()at WebServiceHandler.CoreProcessRequest()at SyncSessionlessHandler.ProcessRequest(HttpContext context)atCallHandlerExecutionStep.System.Web.HttpApplication。 HttpApplicationでのIExecutionStep.Execute()。ExecuteStep(IExecutionStep step、Boolean&completedSynchronously)at ApplicationStepManager.ResumeSteps(Exception error)at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context、AsyncCallback cb、Object extraData)at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)at HttpRuntime.ProcessRequestNoDemand wr)at ISAPIRuntime.ProcessRequest(IntPtr ecb、Int32 iWRType)CrmSoapExtensionがInvalidPluginExecutionExceptionを検出しました:System.Web.Services.Protocols.SoapException:サーバーは要求を処理できませんでした。---> Microsoft.Crm.Sdk.InvalidPluginExecutionException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。---> System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。AccessCRM.PluginUtilitiesで。
dynamics-crm - CrmDataContext.GetEntitiesクエリ-エラー:0x80040204-無効なユーザー認証
Active Directoryでドメインユーザー「jsmith」を作成し、そのドメインアカウントをDynamicsCRMのユーザーとして追加しました。ここでの私の目標は、「jsmith」になりすまして、組織のPrivUserGroupにあるサービスアカウントでコードを実行することです。CrmConnectionのインスタンスを渡すことにより、CrmDataContextをインスタンス化します。CrmConnectionのコンストラクターを呼び出すときは、アプリケーション構成ファイルで接続文字列の名前を渡し、ImpersonatedUserプロパティをシステムユーザーID「jsmith」に設定します。注意すべき点の1つは、これを実行するためにコンソールアプリケーションを使用していることです。以下の私のコードを表示します。
app.configの接続文字列:
CrmDataContextおよびGetEntitiesコード:
テストの実行中にログインしたADドメインアカウントに関連付けられている自分のシステムユーザーIDを偽装しようとしても、問題はありません。結果は問題なく返されるので、コードの実行に使用されているサービスアカウントに問題はないことがわかります。「jsmith」を同じビジネスユニットに割り当て、彼を私と同じ役割(システム管理者)に配置しましたが、無効なユーザー認証を取得します。何が欠けている可能性がありますか。以下は、サーバー上のトレースファイルのエラー情報です。以下のトレース情報では、最初の行が目立ちます。 "[2011-07-22 18:14:08.0]プロセス:w3wp |組織:f827deb3-c6cc-df11-bc07-005056887b79 |スレッド:6 |カテゴリ:例外|ユーザー:822138f1-c574-e011-9dca-005056887b79|レベル:エラー| CrmException..ctor * "。表示されているユーザーIDは私のシステムユーザーIDです。接続文字列からのサービスアカウントのID、または偽装されているID'jblow'が表示されているようです。大変感謝しております。
更新7/25:CrmConnection.ImpersonatedUserがjsmith idに設定されているCrmDataContextを使用して行っていたように、テストを実行することにしました。次に、QueryExpressionをビルドし、CrmAuthenticationTokenのCallerIdプロパティがjsmithのIDに設定されているCrmServiceに渡す、古い学校のアプローチを使用して別の呼び出し(まったく同じクエリ)を行いました。CrmDataContextの使用は「無効なユーザー認証」エラーで失敗しましたが、CrmServiceとQueryExpressionを使用した他の呼び出しは正常に実行されました。私はフィドラーを使用して、これらの各呼び出しの生のhttpリクエストを調べました。生のリクエストは、1つのことを除いて、両方の呼び出しでまったく同じでした。リクエストのAuthorizationヘッダーにあるNegotiateトークン。私は次々と両方の電話をかけました、私のコンソールアプリで、それらは異なるネゴシエートトークンを生成します。修正方法はわかりませんが、それが問題になります。これはAdvancedDeveloperExtensionsのバグのようです。以下は両方の生のhttpです。
c# - Dynamics CRM: null 値と GetPropertyValue()
以下のコードがあるとしましょう:
上記のコードでは、Dynamics で為替レートが null の場合、小数の既定値を取得しますが、これは必要なものではありません (null かどうかを知りたい)。私が使用する場合:
Dynamics で null の場合、null を戻す必要がありますか? 他のシナリオでこれを試してみましたが、常に値の型の既定値が返されます。dto オブジェクト プロパティが null であることを確認できるように、null を取得するにはどうすればよいですか?
c# - CRM2011でXRMサービスと共有するにはどうすればよいですか?
CRM 2011を初めて使用します。CRM2011でXRMサービスを共有(チーム間で共有レコードの連絡先を作成)するにはどうすればよいですか?SDKで見つけることができず、MSCRMデータベースの共有レコードの場所がわかりません。
caching - CRM 2011 Xrmキャッシングを無効にする方法は?
crm2011のキャッシュに問題があります。必要ありませんが、無効にする方法がわかりません。
最初にこれを生成します:
CrmSvcUtil.exe / codeCustomization: "Microsoft.Xrm.Client.CodeGeneration.CodeCustomization、Microsoft.Xrm.Client.CodeGeneration" / out:Outputcs / url:https://crmaddress/XRMServices/2011/Organization.svc / username:usr /パスワード:pw / namespace:ns / serviceContextName:XrmServiceContext
次に、次のコードがあります。
キャッシュをオフにするにはどうすればよいですか?
c# - FetchExpressionの結果がキャッシュされているように見えますが、これを防ぐにはどうすればよいですか?
キューからアイテムをフェッチして処理するために、Windowsサービス内の操作FetchExpression
に対してを使用しています。RetrieveMultiple
CrmOrganizationServiceContext
これを初めて実行すると、正しく処理されるアイテムがフェッチされます。同じインスタンスを使用する後続の呼び出しCrmOrganizationServiceContext
では、エラーがスローされることなく、常にゼロのエンティティが取得されます。新しいエンティティを追加し、FetchXmlを使用してフェッチする必要がある既存のエンティティを再アクティブ化しましたが、それらは取得されません。
サービスを再起動するとすぐに、の新しいインスタンスが作成され、CrmOrganizationServiceContext
新しいアイテムがフェッチされます。
私はここで何が間違っているのですか?
要求に応じてXmlをフェッチします。唯一のカスタマイズは、返されるアイテムの数を制限するcount属性です(これはキュープロセッサであるため)