Real World Application示例抛出SecurityException

时间:2014-01-04 17:42:10

标签: c#

我在互联网上找到了一个样本: 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)是不允许的   在此安全级别反序列化“。

有没有人遇到过此类异常,并且知道如何修复它?

谢谢大家。

1 个答案:

答案 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);