2013年1月19日土曜日

DynamicValue 関係でサポートされる型

今回の Workflow Manager によって追加されるアクティビティの中で、結構嬉しかったものの一つに DynamicValue アクティビティ群による動的な値のサポートがあります。

しかし色々試している内に制約が結構痛かったので、ここに調査結果を書いておきます。


DynamicValue 関係は内部で Microsoft.Activities.Dynamic 名前空間に属するクラスを利用しています。ここに用意されているクラスは全て Friend 扱いで外部からの利用ができなくなっています。そのため、現状ではここのクラスでサポートされていないものはどうやっても扱うことができません。

今回発生した現象は、以前のサンプルと同様のことをワークフロー上でやってみようとしたのが発端で、Facebook から値を取得してみようとしていました。ところが取得した結果を DynamicValue に変換しようとしたタイミングで次のようなエラーが発生することがあります。

エラー

このようなエラーが発生した原因は、取得した JSON 値にあります。

取得した値を変換しようとして、サポートされている型と判断できる場合は良いのですが、双でなかった場合に上記のようなエラーが発生します。現在サポートされている型についてごにょごにょして見てみたところ、次のように定義されていました。

サポート

String、Int、Bool、DateTime、Double、Guid、TimeSpan がサポートされており、それ以外の型は全てエラーとなります。かなりなんてこったいな気分です。

0 件のコメント:

コメントを投稿