私はAppDomainsを使用する最初のプロジェクトに取り組んでいます。オブジェクトがMarshalByRefObjectから派生し、[Serializable]とマークされているとどうなるのでしょうか?例えばオブジェクトがMarshalByRefObjectから派生し、[Serializable]とマークされている場合はどうなりますか?
:
[Serializable]
public class DummyClass: MarshalByRefObject
{
}
私はAppDomainsを使用する最初のプロジェクトに取り組んでいます。オブジェクトがMarshalByRefObjectから派生し、[Serializable]とマークされているとどうなるのでしょうか?例えばオブジェクトがMarshalByRefObjectから派生し、[Serializable]とマークされている場合はどうなりますか?
:
[Serializable]
public class DummyClass: MarshalByRefObject
{
}
これは参照により整列化されますが、それでもシリアル化するための他のユースケースのためにシリアライズすることができます。リモーティングのためにシリアライズしているフォーマッタはSurrogateSelector
を使用します。これは、そのシリアライズのためにプロキシを生成するため、シリアライズは依然として参照によってマーシャリングされます。他のシリアル化の使用にはSurrogateSelector
が含まれていないため、そのような効果はありません。
ここでマーシャルされた意味は何ですか、あなたは詳しく教えてください。 –
@EhsanSajjadは、この質問と回答に対するコメントよりも別の質問です。 http://stackoverflow.com/questions/5600761/what-is-marshalling-what-is-happening-when-something-is-marshalledでおそらく複製され、確かにグーグルで答える必要があります。 –
私はほんの数秒前に尋ねました:http://stackoverflow.com/questions/34295644/what-does-actually-marshalbyref-means –
シリアル化可能になりますか?何が起こるのですか?これら2つの項目のドキュメントを読んだことがありますか? –
@CodyGray:「何が起こるのですか? .NETリモーティングに精通しているわけではありません。 – leppie
@Ravi:私は小さなサーバーのシナリオを設定してテストするのが最善だと思います。おそらく、 'MarshalByRefObject'から派生しているのは、' 'veto ''です。 – leppie