当前位置: 首页>>代码示例>>C#>>正文


C# IServerChannelSinkStack类代码示例

本文整理汇总了C#中IServerChannelSinkStack的典型用法代码示例。如果您正苦于以下问题:C# IServerChannelSinkStack类的具体用法?C# IServerChannelSinkStack怎么用?C# IServerChannelSinkStack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


IServerChannelSinkStack类属于命名空间,在下文中一共展示了IServerChannelSinkStack类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ProcessMessage

		/// <summary></summary>
		public ServerProcessing ProcessMessage(
			IServerChannelSinkStack sinkStack,
			IMessage requestMsg,
			ITransportHeaders requestHeaders,
			Stream requestStream,
			out IMessage responseMsg,
			out ITransportHeaders responseHeaders,
			out Stream responseStream)
		{
			if (NextChannelSink != null)
			{
				SetClientIpAddressDataHelper(requestHeaders);
				ServerProcessing spres = NextChannelSink.ProcessMessage(
					sinkStack,
					requestMsg,
					requestHeaders,
					requestStream,
					out responseMsg,
					out responseHeaders,
					out responseStream);
				return spres;
			}

			responseMsg = null;
			responseHeaders = null;
			responseStream = null;
			return new ServerProcessing();
		}
开发者ID:sillsdev,项目名称:FieldWorks,代码行数:29,代码来源:ClientIPServerSink.cs

示例2: ProcessMessage

 public ServerProcessing ProcessMessage(
         IServerChannelSinkStack sinkStack,
         IMessage requestMsg,
         ITransportHeaders requestHeaders,
         Stream requestStream,
         out IMessage responseMsg,
         out ITransportHeaders responseHeaders,
         out Stream responseStream)
 {
     if (_nextSink != null)
         {
             IPAddress ip =
                 requestHeaders[CommonTransportKeys.IPAddress] as IPAddress;
             CallContext.SetData("ClientIPAddress", ip);
             ServerProcessing spres = _nextSink.ProcessMessage(
                 sinkStack,
                 requestMsg,
                 requestHeaders,
                 requestStream,
                 out responseMsg,
                 out responseHeaders,
                 out responseStream);
             return spres;
         }
         else
         {
             responseMsg = null;
             responseHeaders = null;
             responseStream = null;
             return new ServerProcessing();
         }
 }
开发者ID:jsvgoncalves,项目名称:tdin-chat-server,代码行数:32,代码来源:ClientIPServerSinkProvider.cs

示例3: ProcessMessage

		public ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack,
							IMessage requestMsg,
							ITransportHeaders requestHeaders,
							Stream requestStream,
							out IMessage responseMsg,
							out ITransportHeaders responseHeaders,
							out Stream responseStream)
		{
			IMessage call;
			
			string uri = (string)requestHeaders [CommonTransportKeys.RequestUri];

			if (requestMsg == null) {
				call = (IMessage)format.DeserializeRequest (requestStream, uri);
			} else { 
				call = requestMsg;
			}

			next_sink.ProcessMessage (sinkStack, call, requestHeaders, null,
						  out responseMsg, out responseHeaders, out responseStream);
						
			responseStream = new MemoryStream ();

			format.SerializeResponse (responseStream, responseMsg);
			
			return ServerProcessing.Complete;
		}
开发者ID:nlhepler,项目名称:mono,代码行数:27,代码来源:SimpleServerFormatterSink.cs

示例4: ProcessMessage

		public ServerProcessing ProcessMessage(
			IServerChannelSinkStack sinkStack_in,
			IMessage requestMsg_in,
			ITransportHeaders requestHeaders_in,
			Stream requestStream_in,

			out IMessage responseMsg_out,
			out ITransportHeaders responseHeaders_out,
			out Stream responseStream_out
		) {
			if (nextchannelsink_ != null) {
				CallContext.SetData(
					"ClientIPAddress", 
					((IPAddress)requestHeaders_in[CommonTransportKeys.IPAddress]).ToString()
				);
				ServerProcessing _serverprocessing = NextChannelSink.ProcessMessage(
					sinkStack_in,
					requestMsg_in,
					requestHeaders_in,
					requestStream_in,

					out responseMsg_out,
					out responseHeaders_out,
					out responseStream_out
				);
				return _serverprocessing;
			} else {
				responseMsg_out = null;
				responseHeaders_out = null;
				responseStream_out = null;
				return new ServerProcessing();
			}
		}
开发者ID:BackupTheBerlios,项目名称:ogen-svn,代码行数:33,代码来源:ClientIPAddressServerSink.cs

示例5: ProcessMessage

        [System.Security.SecurityCritical]  // auto-generated
        public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack,
            IMessage requestMsg,
            ITransportHeaders requestHeaders, Stream requestStream,
            out IMessage responseMsg, out ITransportHeaders responseHeaders,
            out Stream responseStream)
        {
            if (requestMsg == null)
            {
                throw new ArgumentNullException(
                    "requestMsg", 
                    Environment.GetResourceString("Remoting_Channel_DispatchSinkMessageMissing"));
            }
            Contract.EndContractBlock();

            // check arguments
            if (requestStream != null)
            {
                throw new RemotingException(
                    Environment.GetResourceString("Remoting_Channel_DispatchSinkWantsNullRequestStream"));
            }

            responseHeaders = null;
            responseStream = null;
            return ChannelServices.DispatchMessage(sinkStack, requestMsg, out responseMsg);                
        } // ProcessMessage
开发者ID:iskiselev,项目名称:JSIL.NetFramework,代码行数:26,代码来源:dispatchchannelsink.cs

示例6: ProcessMessage

		public ServerProcessing ProcessMessage(
			IServerChannelSinkStack sinkStack, 
			IMessage requestMsg, 
			ITransportHeaders requestHeaders, 
			Stream requestStream, 
			out IMessage responseMsg, 
			out ITransportHeaders responseHeaders, 
			out Stream responseStream)
		{
			var ip = requestHeaders[CommonTransportKeys.IPAddress] as IPAddress;
			CallContext.SetData("ClientIPAddress", ip);

			var connectionId = (Int64)requestHeaders[CommonTransportKeys.ConnectionId];
			CallContext.SetData("ClientConnectionId", connectionId); 
			
			if (_next != null) 
			{
				var spres =  _next.ProcessMessage (sinkStack,requestMsg, requestHeaders,requestStream,out responseMsg,out responseHeaders,out responseStream);
				return spres;
			} 
			else 
			{
				responseMsg=null;
				responseHeaders=null;
				responseStream=null;
				return new ServerProcessing();
			}
		}
开发者ID:WinShooter,项目名称:WinShooter-Legacy,代码行数:28,代码来源:CustomSoapServerFormatterSinkProvider.cs

示例7: ProcessMessage

    public ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack,
                                            IMessage requestMsg,
                                            ITransportHeaders requestHeaders,
                                            Stream requestStream,
                                            out IMessage responseMsg,
                                            out ITransportHeaders responseHeaders,
                                            out Stream responseStream)
    {
      IMessage call;
      MessageType mtype = (Ice.MessageType) requestHeaders["__iceMessageType"];
      bool isBatched = (mtype == Ice.MessageType.BatchRequest);

      try {
        if (requestMsg == null) {
          requestMsg = IceChannelUtils.ProtocolRequestToMessage (requestStream, isBatched);
        } else {
          call = requestMsg;
        }

        Trace.WriteLine ("IceServerFormatterSink: passing upstream");
        _next.ProcessMessage (sinkStack, requestMsg, requestHeaders, null,
                              out responseMsg, out responseHeaders, out responseStream);
        Trace.WriteLine ("IceServerFormatterSink: returned");

        responseStream = new MemoryStream();
        IceChannelUtils.MessageToProtocolReply (requestMsg, responseMsg, responseStream);
      } catch (Exception e) {
        Console.WriteLine (e.ToString());
        throw e;
      }
      return ServerProcessing.Complete;
    }
开发者ID:emtees,项目名称:old-code,代码行数:32,代码来源:IceServerFormatterSink.cs

示例8: ProcessMessage

		public ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack, IMessage requestMsg,
			ITransportHeaders requestHeaders, Stream requestStream, out IMessage responseMsg,
			out ITransportHeaders responseHeaders, out Stream responseStream)
		{
			//we know we never call this
			throw new NotSupportedException ();
		}
开发者ID:nlhepler,项目名称:mono,代码行数:7,代码来源:HttpServerTransportSink.cs

示例9: ProcessMessage

 public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMessage, ITransportHeaders requestHeaders, Stream requestStream, out IMessage responseMessage, out ITransportHeaders responseHeaders, out Stream responseStream)
 {
     requestStream = Zip.Decompress(requestStream);
     sinkStack.Push(this, null);
     ServerProcessing processing = this.m_NextSink.ProcessMessage(sinkStack, requestMessage, requestHeaders, requestStream, out responseMessage, out responseHeaders, out responseStream);
     responseStream = Zip.Compress(responseStream);
     return processing;
 }
开发者ID:bmadarasz,项目名称:ndihelpdesk,代码行数:8,代码来源:ZipServerSink.cs

示例10: DispatchMessage

    public static ServerProcessing DispatchMessage(IServerChannelSinkStack sinkStack, System.Runtime.Remoting.Messaging.IMessage msg, out System.Runtime.Remoting.Messaging.IMessage replyMsg)
    {
      Contract.Ensures(((System.Runtime.Remoting.Channels.ServerProcessing)(0)) <= Contract.Result<System.Runtime.Remoting.Channels.ServerProcessing>());
      Contract.Ensures(Contract.Result<System.Runtime.Remoting.Channels.ServerProcessing>() <= ((System.Runtime.Remoting.Channels.ServerProcessing)(1)));

      replyMsg = default(System.Runtime.Remoting.Messaging.IMessage);

      return default(ServerProcessing);
    }
开发者ID:asvishnyakov,项目名称:CodeContracts,代码行数:9,代码来源:System.Runtime.Remoting.Channels.ChannelServices.cs

示例11: ProcessMessage

 public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, out IMessage responseMsg, out ITransportHeaders responseHeaders, out Stream responseStream)
 {
     if(requestMsg is IMethodCallMessage)
     {
         IMethodCallMessage call = (IMethodCallMessage)requestMsg;
         if(!provider.Filter(call.MethodBase))
             throw new MemberAccessException("You are not allowed to access this member via remoting!");
     }
     return next.ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream, out responseMsg, out responseHeaders, out responseStream);
 }
开发者ID:sciaopin,项目名称:bang-sharp,代码行数:10,代码来源:MethodRestrictionServerSink.cs

示例12: ProcessMessage

		public ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack,
							IMessage requestMsg,
							ITransportHeaders requestHeaders,
							Stream requestStream,
							out IMessage responseMsg,
							out ITransportHeaders responseHeaders,
							out Stream responseStream)
		{
			// this is the first sink, and SimpleServerChannel does not call it.
			throw new NotSupportedException ();
		}
开发者ID:nlhepler,项目名称:mono,代码行数:11,代码来源:SimpleServerTransportSink.cs

示例13: ProcessMessage

 public ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack,
                                         IMessage requestMsg,
                                         ITransportHeaders requestHeaders,
                                         Stream requestStream,
                                         out IMessage responseMsg,
                                         out ITransportHeaders responseHeaders,
                                         out Stream responseStream)
 {
   // this sink is always first, and this method isn't usued as the entry point
   throw new NotSupportedException();
 }
开发者ID:emtees,项目名称:old-code,代码行数:11,代码来源:IceServerTransportSink.cs

示例14: ArgumentNullException

	public static ServerProcessing DispatchMessage
				(IServerChannelSinkStack sinkStack, IMessage msg,
		    	 out IMessage replyMsg)
			{
				if(msg == null)
				{
					throw new ArgumentNullException("msg");
				}
				// TODO
				replyMsg = null;
				return ServerProcessing.Complete;
			}
开发者ID:jjenki11,项目名称:blaze-chem-rendering,代码行数:12,代码来源:ChannelServices.cs

示例15: ProcessMessage

 public ServerProcessing ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, out IMessage responseMsg, out ITransportHeaders responseHeaders, out Stream responseStream)
 {
     if (this._nextSink != null)
     {
         object obj1 = requestHeaders["__IPAddress"];
         return this._nextSink.ProcessMessage(sinkStack, requestMsg, requestHeaders, requestStream, out responseMsg, out responseHeaders, out responseStream);
     }
     responseMsg = null;
     responseHeaders = null;
     responseStream = null;
     return ServerProcessing.Complete;
 }
开发者ID:lexzh,项目名称:Myproject,代码行数:12,代码来源:ClientIPServerSink.cs


注:本文中的IServerChannelSinkStack类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。