1
如何將我的客戶端對象傳遞給服務器對象.net遠程處理?將客戶端創建的對象傳遞給服務器.net遠程處理
這就是我如何做我的測試。 在我的類庫:
public interface IServer
{
bool SubmitMessage(ISampleClass sample);
}
[Serializable]
public Server : MarshalByRefObject , IServer
{
Public Server()
{
}
public bool SubmitMessage(ISampleClass sample)
{
return true;
}
}
public interface ISampleClass
{
string GetName();
}
[Serializable]
public class SampleClass : MarshalByRefObject , ISampleClass
{
public SampleClass()
{
}
public string GetName()
{
return "test";
}
}
在我的服務器應用程序:
IChannel channel = new TcpChannel(9988);
ChannelServices.RegisterChannel(channel,false);
RemotingConfiguration.RegisteredWellKnownServiceType(typeof(Testing.Server) ,"testremote",WellKnownObjectMode.Singleton);
RemotingConfiguration.RegisterActivatedServiceType(typeof(Testing.SampleClass));
RemotingConfiguration.ApplicationName = "TestRemote";
在我的客戶端應用程序:
Type type = typeof(Testing.Server);
Testing.IServer server = (Testing.IServer)Activator.GetOject(type,"tcp://localhost:9988/testremote");
RemotingConfiguration.RegisteredActivatedClientType(typeof(Testing.SampleClass), "tcp://localhost:9988/TestRemote");
Testing.SampleClass test = new Testing.SampleClass(); // proxy class
server.SubmitMessage(test); // Error here
我encoutered錯誤是: 由於安全限制,在無法訪問類型System.Runtime.Remoting.ObjRef。 內部異常:請求失敗。
請告訴我我做錯了什麼。謝謝!