我在互联网上找到了一个样本: http://msdn.microsoft.com/en-us/library/ms996475.aspx
我已经下载了示例并使用C#Virtual Studio 2010对其进行了编译,并且在编译时没有问题,但是在运行时它会引发安全异常:
SingletonCommunicator comm = (SingletonCommunicator)RemotingServices.Connect(typeof(SingletonCommunicator), SingletonCommunicatorUrl);
if (comm.Control == null)
{
comm.Control = new SingletonCommunicatorControl();
例外的文字是:
“键入System.Runtime.Remoting.ObjRef以及从中派生的类型 (例如System.Runtime.Remoting.ObjRef)是不允许的 在此安全级别反序列化“。
有没有人遇到过此类异常,并且知道如何修复它?
谢谢大家。
答案 0 :(得分:1)
这只是几分钟的问题,我在下面的链接中找到了我自己的问题的答案: http://msdn.microsoft.com/en-us/library/5dxse167(v=vs.85).aspx
您只需在调用RegisterChannel
之前将TypeFilterLevel设置为Full// Creating a custom formatter for a TcpChannel sink chain.
BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
// Creating the IDictionary to set the port on the channel instance.
IDictionary props = new Hashtable();
props["port"] = 8085;
// Pass the properties for the port setting and the server provider in the server chain argument. (Client remains null here.)
TcpChannel chan = new TcpChannel(props, null, provider);