[seasar-dotnet:2243] Re: S2Dxoのスレッドセーフについて

kotani.k [E-MAIL ADDRESS DELETED]
2013年 2月 26日 (火) 22:07:32 JST


寺嶋さん

小谷です。

本当にマルチスレッドでの動作が原因なのかどうか、恥ずかしながら
まだ理解できていないのですが、問題が発生したときと同じ操作を行うと、
一ユーザーの場合は発生せず、複数ユーザーだと発生することがある、
ということでしょうか?
できれば前後の状況も教えていただけたらと思います。

また、参考までにお尋ねしたいのですが、
.NET Framework4.0以上でしょうか?3.5以前でしょうか?

逆に質問ばかり返してしまってごめんなさい。
よろしくお願いします。


2013年2月26日 16:38 寺嶋 千晴 <cterash @ jops.co.jp>:
> お世話になっております。寺嶋です。
>
> 全開、S2Dxo.netについてご教授いただきありがとうございました。
> 今回もS2Dxo.netについて教えていただきたいことがあり投稿させて頂きました。
>
> データが格納されているオブジェクトをS2Dxoにて相互変換を行なっていますが
> DxoInterceptor内でKeyNotFoundExceptionが発生してしまいました。
> 調査をしてみたところDxoInterceptor.csのDxoMappingから情報を取得する際
> 例外が発生したようです。
>
> 今回ASP.NETで開発しており、DxoをQuill管理にすることでsingletonになり
> DxoMappingが複数のスレッドから操作され例外が発生したものと思われます。
> DxoInterceptorをスレッドセーフに使用する方法がありますでしょうか?
>
> 以上、よろしくお願いいたします。
>
> ---- エラー内容 ----
> System.Collections.Generic.KeyNotFoundException: 指定されたキーはディレクトリ内に存在しませんでした。
>    場所 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
>    場所 Seasar.Dxo.Interceptor.DxoInterceptor._ConvertProperty(PropertyInfo sourceInfo, Object source, Object dest, PropertyInfo destInfo, Boolean existProperty)
>    場所 Seasar.Dxo.Interceptor.DxoInterceptor._TryExchangeSameNameProperty(PropertyInfo sourceInfo, Object source, Object dest, Type destType, Int32 cnt)
>    --- 内部例外スタック トレースの終わり ---
>    場所 Seasar.Dxo.Interceptor.DxoInterceptor._TryExchangeSameNameProperty(PropertyInfo sourceInfo, Object source, Object dest, Type destType, Int32 cnt)
>    --- 内部例外スタック トレースの終わり ---
>    場所 System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
>    場所 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
>    場所 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


seasar-dotnet メーリングリストの案内