C# Remoting (MarshalByRefObject) проблема с System.Security.PermissionSet

У меня есть класс, который расширяет класс MarshalByRefObject. Я создаю HTTPChannel, регистрирую ChannelService и при чтении и записи свойств int и string все работает отлично. Мой класс общения выглядит следующим образом (обратите внимание, что оба класса являются только примером, но мой реальный проект выглядит очень похоже):

public class MyCommunicationClass : MarshalByRefObject
{
    public int IntegerValue {get; set;}

    public string StringValue {get; set;}

    public MyClass[] CustomValueArray {get; set;}
}

Моя проблема - исключение, которое возникает, когда я пытаюсь установить свойство MyClass[]. MyClass объявлен как:

[Serializable]
public class MyClass
{
    public string StringValue {get; set;}
}

Я получаю следующее исключение: System.Security.SecurityException: запрос не выполнен. Трассировка стека показывает:

The method that caused the failure
was:
System.Runtime.Remoting.Channels.ServerProcessing
ProcessMessage(System.Runtime.Remoting.Channels.IServerChannelSinkStack,
System.Runtime.Remoting.Messaging.IMessage,
System.Runtime.Remoting.Channels.ITransportHeaders,
System.IO.Stream,
System.Runtime.Remoting.Messaging.IMessage
ByRef,
System.Runtime.Remoting.Channels.ITransportHeaders
ByRef, System.IO.Stream ByRef)

Дополнительная информация отображается:

The action that failed was: Demand The
type of the first permission that
failed was:
System.Security.PermissionSet The
demand was for: <PermissionSet
class="System.Security.PermissionSet"
version="1" Unrestricted="true"/>

The only permitted permissions were:
<PermissionSet
class="System.Security.PermissionSet"
version="1"> <IPermission
class="System.Security.Permissions.SecurityPermission,
mscorlib, Version=4.0.0.0,
Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="SerializationFormatter"/>
</PermissionSet>

Может кто-нибудь объяснить мне, что происходит и что я делаю не так? Спасибо!

РЕДАКТИРОВАТЬ: Это только проблема, когда я пытаюсь установить массив MyClass. Я могу назначить свойство MyClass Property в MyCommunicationClass без проблем.

0 ответов

Другие вопросы по тегам