C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Dataset.GetSerializationData

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■90635 / inTopicNo.1)  Dataset.GetSerializationData
  
□投稿者/ koni (1回)-(2019/03/28(Thu) 11:26:37)

分類:[VB.NET/VB2005 以降] 

VS2017 .net framework4.7で開発しています。

他プロセスからDatasetオブジェクトをパラメータで受け取った際に、Datasetデザイナーで自動生成されたコード「DataSet.Designer.vb」内の「Me.GetSerializationData(info, context)」部分を実行した際に下記エラーとなってしまい、Datasetオブジェクトの復元ができないようです
エラー原因、回避方法をご教授いただけないでしょうか


以下、エラー内容詳細
「System.Security.SecurityException
HResult=0x8013150A
Message=要求が失敗しました。
Source=mscorlib
スタック トレース:
at System.Security.FrameSecurityDescriptor.CheckSetDemand2(PermissionSet demandSet, PermissionSet& alteredDemandSet, RuntimeMethodHandleInternal rmh, Boolean fDeclarative) in f:\dd\ndp\clr\src\BCL\system\security\framesecuritydescriptor.cs:line 498」


引用返信 編集キー/
■90636 / inTopicNo.2)  Re[1]: Dataset.GetSerializationData
□投稿者/ WebSurfer (1802回)-(2019/03/28(Thu) 14:57:45)
No90635 (koni さん) に返信

> 他プロセスからDatasetオブジェクトをパラメータで受け取った際に、Datasetデザイナーで自動生成されたコード「DataSet.Designer.vb」内の「Me.GetSerializationData(info, context)」部分を実行した際に下記エラーとなってしまい、Datasetオブジェクトの復元ができないようです

自分の環境(Visual Studio 2015, .NET 4.6.1)で TableAdapter 構成ウィザードで型付 DataSet を自動生成
すると、「Me.GetSerializationData(info, context)」というコートは以下のコンストラクタ内に定義されます
が、それのことを言ってますか? とするとその部分を実行するにはこのコンストラクタを呼び出すという話に
なると思うのですが、そうなんですか? そういう操作は普通はしない(できない)と思うのですが・・・
何がしたいのでしょう?

Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
    MyBase.New(info, context, False)
    
    '・・・中略・・・

    Me.GetSerializationData(info, context)
    Dim schemaChangedHandler As Global.System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
    AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
    AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
End Sub

引用返信 編集キー/
■90637 / inTopicNo.3)  Re[2]: Dataset.GetSerializationData
□投稿者/ koni (2回)-(2019/03/28(Thu) 17:53:42)
No90636 (WebSurfer さん) に返信
返信ありがとうございます。

確かに呼び出しを明示的に行っていません。
クラサバのアプリ(クラもサバもどちらもVB.NET)を構築しており、クライアントから呼び出されたサーバー側で呼び出された直後にエラーになっています。

クライアントからのサーバー側呼び出しはこんな感じで行っています
***********************
 Dim obj As ServerHandler
 −−−中略ーーー
 resultObj = obj.ExecuteMethod("サーバ側処理.メソッド", DataSetオブジェクト)
***********************

おそらくサーバー側でパラメータ受け取ったときに、framework内で例のコンストラクタが呼ばれているものと推測されます。


引用返信 編集キー/
■90638 / inTopicNo.4)  Re[3]: Dataset.GetSerializationData
□投稿者/ WebSurfer (1803回)-(2019/03/28(Thu) 18:20:08)
No90637 (koni さん) に返信

> クライアントからのサーバー側呼び出しはこんな感じで行っています
> ***********************
>  Dim obj As ServerHandler
>  −−−中略ーーー
>  resultObj = obj.ExecuteMethod("サーバ側処理.メソッド", DataSetオブジェクト)
> ***********************

そのコードは全く分かりませんので、すみませんが、何のコメントもできません。

クライアント/サーバーとのことですが、以下の記事のようなことをしているのでしょうか?

Web サービス経由で非接続型データアクセス
http://surferonwww.info/BlogEngine/post/2014/08/23/data-access-using-strongly-typed-dataset-and-web-service.aspx

WCF サービス経由で非接続型データアクセス
http://surferonwww.info/BlogEngine/post/2018/03/04/data-access-from-windows-forms-to-wcf-service-using-strongly-typed-dataset.aspx
引用返信 編集キー/
■90639 / inTopicNo.5)  Re[4]: Dataset.GetSerializationData
□投稿者/ koni (3回)-(2019/03/28(Thu) 20:18:17)
No90638 (WebSurfer さん) に返信

> そのコードは全く分かりませんので、すみませんが、何のコメントもできません。
ServerHandlerクラスはこちらで定義したクラスでした。すいませんでした。


> クライアント/サーバーとのことですが、以下の記事のようなことをしているのでしょうか?
当方ももともとの作成者ではなく、詳しくないのですが、.NET Remotingになるかと思います。
http://www.axion.sakura.ne.jp/TwoWayComm_dotNetRemoting.html

引用返信 編集キー/
■90640 / inTopicNo.6)  Re[5]: Dataset.GetSerializationData
□投稿者/ WebSurfer (1804回)-(2019/03/28(Thu) 23:40:10)
No90639 (koni さん) に返信

> 当方ももともとの作成者ではなく、詳しくないのですが、.NET Remotingになるかと思います。

作成者の方にお聞きください。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ