アセンブリだけがこれらのメンバーをリモートで呼び出すようにするために、.NET リモート処理を介して実装する必要がある内部インターフェイスがありました (InternalsVisibleTo を使用して、フレンド アセンブリへのアクセスを許可しました)。ただし、インターフェイスを実装してビルドすると、次のエラーが発生しました。
'AssemblyName' does not implement interface member 'InterfaceMember1(...)' 'AssemblyName' cannot implement an interface because it is not public.
これを機能させる方法を検索して見つけることができませんでした。ただし、アセンブリをビルドできるようにするインターフェイスを明示的に実装したので、任意のフレンド アセンブリからリモート メソッドを問題なく呼び出すことができます。
ただし、このトピック、特に MSDN と StackOverflow に関する情報が不足していることを懸念しています。内部インターフェイスを介した .NET リモート処理の実装に問題はありますか? もしそうなら、なぜですか?
編集 これが私のインターフェースと実装の外観です:
インターフェース
internal interface IAdmin
{
bool TESTPING();
bool AdminTask1(int val);
...
}
実装
public class RService : MarshalByRefObject, IAdmin
{
//IAdmin members
bool IAdmin.TESTPING()
{
return true;
}
bool IAdmin.AdminTask1(int val)
{
// do stuff
return true;
}
}