コード例 #1
0
ファイル: ServerPreFilterSpecs.cs プロジェクト: bsimser/xeva
        public static ServiceRequest GetServiceRequest()
        {
            RequestMessage request = new RequestMessage();
             MessageArgument arg = new MessageArgument();
             arg.ArgumentType = "System.String";
             arg.Argument = "stub";
             request.MessageArgs = new MessageArgument[1]{arg};

             byte[] content;
             using (IBinaryMessageSerializer serializer =
            MessageSerializerFactory.CreateBinarySerializer(typeof(RequestMessage)))
             {
            content = serializer.Serialize(request);
             }

             ServiceRequest result = new ServiceRequest(content);
             result.Message = new RequestMessage();
             result.Message.ServiceKey = typeof (FakeProxy).Name;
             result.Message.MethodKey = "ProxyMethod";
             result.Message.MessageArgs = request.MessageArgs;
             result.Message.SessionTicket = Guid.NewGuid();

             return result;
        }
コード例 #2
0
ファイル: ComposeRequestFilter.cs プロジェクト: bsimser/xeva
        public void Process()
        {
            RequestMessage request = new RequestMessage();

             IInvocation invocation = _channelRequest.Invocation;
             object[] arguments = invocation.Arguments;

             request.ServiceKey = _channelRequest.ServiceName;
             request.MethodKey = invocation.Method.Name;

             request.MessageArgs = new MessageArgument[arguments.Length];

             for (int idx = 0; idx < arguments.Length; idx++)
             {
            Type argumentType = arguments[idx].GetType();

            MessageArgument arg = new MessageArgument();
            arg.ArgumentType = argumentType.AssemblyQualifiedName;
            arg.Argument = arguments[idx];
            request.MessageArgs[idx] = arg;
             }

             _channelRequest.Message = request;
        }