• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# HostContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: Initialize

        public virtual void Initialize(IDependencyResolver resolver, HostContext context)
        {
            if (resolver == null)
            {
                throw new ArgumentNullException("resolver");
            }

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            if (_initialized)
            {
                return;
            }

            MessageBus = resolver.Resolve<IMessageBus>();
            JsonSerializer = resolver.Resolve<IJsonSerializer>();
            TraceManager = resolver.Resolve<ITraceManager>();
            Counters = resolver.Resolve<IPerformanceCounterManager>();
            AckHandler = resolver.Resolve<IAckHandler>();
            ProtectedData = resolver.Resolve<IProtectedData>();

            _configurationManager = resolver.Resolve<IConfigurationManager>();
            _transportManager = resolver.Resolve<ITransportManager>();
            _serverMessageHandler = resolver.Resolve<IServerCommandHandler>();

            _initialized = true;
        }
开发者ID:Djohnnie,项目名称:Sonarr,代码行数:30,代码来源:PersistentConnection.cs


示例2: ProcessRequestAsync

        public override Task ProcessRequestAsync(HttpContextBase context)
#endif


        {
            var request = new AspNetRequest(context.Request, context.User);
            var response = new AspNetResponse(context);
            var hostContext = new HostContext(request, response);

#if NET45
            // Determine if the client should bother to try a websocket request
            hostContext.Items[HostConstants.SupportsWebSockets] = true;
#endif

            // Set the debugging flag
            hostContext.Items[HostConstants.DebugMode] = context.IsDebuggingEnabled;

            // Set the host shutdown token
            hostContext.Items[HostConstants.ShutdownToken] = AppDomainTokenSource.Token;

            // Stick the context in here so transports or other asp.net specific logic can
            // grab at it.
            hostContext.Items["System.Web.HttpContext"] = context;

            // Initialize the connection
            _connection.Initialize(_resolver);

            return _connection.ProcessRequestAsync(hostContext);
        }
开发者ID:plurby,项目名称:SignalR,代码行数:29,代码来源:AspNetHandler.cs


示例3: Setup

 public void Setup([CallerMemberName] string testName = "")
 {
     _tokenSource = new CancellationTokenSource();
     _hc = new HostContext(
         hostType: "L0Test",
         logFile: Path.Combine(IOUtil.GetBinPath(), $"trace_{nameof(HostContextL0)}_{testName}.log"));
 }
开发者ID:codedebug,项目名称:vsts-agent,代码行数:7,代码来源:HostContextL0.cs


示例4: TransportDisconnectBase

        protected TransportDisconnectBase(HostContext context, IJsonSerializer jsonSerializer, ITransportHeartbeat heartbeat, IPerformanceCounterManager performanceCounterManager, ITraceManager traceManager)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            if (jsonSerializer == null)
            {
                throw new ArgumentNullException("jsonSerializer");
            }

            if (heartbeat == null)
            {
                throw new ArgumentNullException("heartbeat");
            }

            if (performanceCounterManager == null)
            {
                throw new ArgumentNullException("performanceCounterManager");
            }

            if (traceManager == null)
            {
                throw new ArgumentNullException("traceManager");
            }

            _context = context;
            _jsonSerializer = jsonSerializer;
            _heartbeat = heartbeat;
            _counters = performanceCounterManager;

            _trace = traceManager["SignalR.Transports." + GetType().Name];
        }
开发者ID:kppullin,项目名称:SignalR,代码行数:34,代码来源:TransportDisconnectBase.cs


示例5: HubContext

 public HubContext(HostContext context, string connectionId)
 {
     ConnectionId = connectionId;
     Cookies = context.Request.Cookies;
     Headers = context.Request.Headers;
     User = context.User;
 }
开发者ID:niik,项目名称:SignalR,代码行数:7,代码来源:HubContext.cs


示例6: TransportDisconnectBase

 public TransportDisconnectBase(HostContext context, IJsonSerializer jsonSerializer, ITransportHeartBeat heartBeat, IPerformanceCounterManager performanceCounterManager)
 {
     _context = context;
     _jsonSerializer = jsonSerializer;
     _heartBeat = heartBeat;
     _counters = performanceCounterManager;
 }
开发者ID:ntcnet83,项目名称:SignalR,代码行数:7,代码来源:TransportDisconnectBase.cs


示例7: Main

        public static void Main(string[] args)
        {
            RegisterCommands();
            while (true)
            {
                var userLine = Console.ReadLine();

                if (userLine == "Exit")
                {
                    return;
                }

                var commandParts = userLine.Split();
                var commandName = commandParts[0];

                if (!commands.ContainsKey(commandName))
                {
                    Console.WriteLine("Invalid command!");
                    continue;
                }

                var command = commands[commandName];
                var context = new HostContext();
                command.Execute(context, commandParts.Skip(1).ToArray());
            }
        }
开发者ID:IskraNikolova,项目名称:Object-oriented-programming,代码行数:26,代码来源:Program.cs


示例8: ProcessRequestAsync

        public override Task ProcessRequestAsync(HttpContextBase context)
#endif


        {
            // https://developer.mozilla.org/En/HTTP_Access_Control
            string origin = context.Request.Headers["Origin"];
            if (!String.IsNullOrEmpty(origin))
            {
                context.Response.AddHeader("Access-Control-Allow-Origin", origin);
                context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
            }

            var request = new AspNetRequest(context);
            var response = new AspNetResponse(context);
            var hostContext = new HostContext(request, response);

            // Determine if the client should bother to try a websocket request
            hostContext.Items[HostConstants.SupportsWebSockets] = !String.IsNullOrEmpty(context.Request.ServerVariables[WebSocketVersionServerVariable]);

            // Set the debugging flag
            hostContext.Items[HostConstants.DebugMode] = context.IsDebuggingEnabled;

            // Set the host shutdown token
            hostContext.Items[HostConstants.ShutdownToken] = AppDomainTokenSource.Token;

            // Stick the context in here so transports or other asp.net specific logic can
            // grab at it.
            hostContext.Items["System.Web.HttpContext"] = context;

            // Initialize the connection
            _connection.Initialize(_resolver);

            return _connection.ProcessRequestAsync(hostContext);
        }
开发者ID:PradeepReddy,项目名称:SignalR,代码行数:35,代码来源:AspNetHandler.cs


示例9: Invoke

        public Task Invoke(IDictionary<string, object> environment)
        {
            var serverRequest = new ServerRequest(environment);
            var serverResponse = new ServerResponse(environment);
            var hostContext = new HostContext(serverRequest, serverResponse);

            // Add CORS support
            var origins = serverRequest.RequestHeaders.GetHeaders("Origin");
            if (origins != null && origins.Any(origin => !String.IsNullOrEmpty(origin)))
            {
                serverResponse.ResponseHeaders["Access-Control-Allow-Origin"] = origins;
                serverResponse.ResponseHeaders["Access-Control-Allow-Credentials"] = AllowCredentialsTrue;
            }

            hostContext.Items[HostConstants.SupportsWebSockets] = LazyInitializer.EnsureInitialized(
                ref _supportWebSockets,
                ref _supportWebSocketsInitialized,
                ref _supportWebSocketsLock,
                () => environment.SupportsWebSockets());

            hostContext.Items[HostConstants.ShutdownToken] = environment.GetShutdownToken();
            hostContext.Items[HostConstants.DebugMode] = environment.GetIsDebugEnabled();

            serverRequest.DisableRequestBuffering();
            serverResponse.DisableResponseBuffering();

            _connection.Initialize(_resolver, hostContext);

            return _connection.ProcessRequestAsync(hostContext);
        }
开发者ID:rustd,项目名称:SignalR,代码行数:30,代码来源:CallHandler.cs


示例10: Execute

 public void Execute(HostContext host, string[] parameters)
 {
     Console.WriteLine("System info:");
     Console.WriteLine("----------------");
     Console.WriteLine($"OS: {Environment.OSVersion}");
     Console.WriteLine($".NET {Environment.Version}");
 }
开发者ID:IskraNikolova,项目名称:Object-oriented-programming,代码行数:7,代码来源:SystemInfoCommand.cs


示例11: LongPollingTransport

 public LongPollingTransport(HostContext context, IDependencyResolver resolver)
     : this(context,
            resolver.Resolve<IJsonSerializer>(),
            resolver.Resolve<ITransportHeartBeat>(),
            resolver.Resolve<IPerformanceCounterWriter>())
 {
 }
开发者ID:khushal999p,项目名称:SignalR,代码行数:7,代码来源:LongPollingTransport.cs


示例12: AbortUrlTriggersConnectionAbort

        public void AbortUrlTriggersConnectionAbort()
        {
            var request = new Mock<IRequest>();
            var qs = new NameValueCollection();
            qs["connectionId"] = "1";
            request.Setup(m => m.QueryString).Returns(qs);
            request.Setup(m => m.Url).Returns(new Uri("http://test/echo/abort"));
            string abortedConnectionId = null;
            var counters = new Mock<IPerformanceCounterManager>();
            var heartBeat = new Mock<ITransportHeartbeat>();
            var json = new JsonNetSerializer();
            var hostContext = new HostContext(request.Object, null);
            var transportConnection = new Mock<ITransportConnection>();
            var traceManager = new Mock<ITraceManager>();
            traceManager.Setup(m => m[It.IsAny<string>()]).Returns(new System.Diagnostics.TraceSource("foo"));
            transportConnection.Setup(m => m.Send(It.IsAny<ConnectionMessage>()))
                               .Callback<ConnectionMessage>(m =>
                               {
                                   abortedConnectionId = m.Signal;
                                   var command = m.Value as Command;
                                   Assert.NotNull(command);
                                   Assert.Equal(CommandType.Abort, command.CommandType);
                               })
                               .Returns(TaskAsyncHelper.Empty);

            var transport = new Mock<ForeverTransport>(hostContext, json, heartBeat.Object, counters.Object, traceManager.Object)
            {
                CallBase = true
            };

            transport.Object.ProcessRequest(transportConnection.Object).Wait();

            Assert.Equal("1", abortedConnectionId);
        }
开发者ID:rustd,项目名称:SignalR,代码行数:34,代码来源:ForeverTransportFacts.cs


示例13: ProcessJsonpRequest

        private Task ProcessJsonpRequest(HostContext context, object payload)
        {
            context.Response.ContentType = JsonUtility.JavaScriptMimeType;
            var data = JsonUtility.CreateJsonpCallback(context.Request.QueryString["callback"], JsonSerializer.Stringify(payload));

            return context.Response.End(data);
        }
开发者ID:NTaylorMullen,项目名称:SignalR.Compression,代码行数:7,代码来源:ContractEndpoint.cs


示例14: ForeverTransport

 public ForeverTransport(HostContext context, IDependencyResolver resolver)
     : this(context,
            resolver.Resolve<IJsonSerializer>(),
            resolver.Resolve<ITransportHeartBeat>(),
            resolver.Resolve<IPerformanceCounterManager>())
 {
 }
开发者ID:nonintanon,项目名称:SignalR,代码行数:7,代码来源:ForeverTransport.cs


示例15: WebSocketTransport

 public WebSocketTransport(HostContext context, 
                           IJsonSerializer serializer, 
                           ITransportHeartBeat heartBeat)
     : base(context, serializer, heartBeat)
 {
     _context = context;
 }
开发者ID:nairit,项目名称:SignalR,代码行数:7,代码来源:WebSocketTransport.cs


示例16: SendUrlTriggersReceivedEvent

        public void SendUrlTriggersReceivedEvent()
        {
            var tcs = new TaskCompletionSource<string>();
            var request = new Mock<IRequest>();
            var form = new NameValueCollection();
            form["data"] = "This is my data";
            var qs = new NameValueCollection();
            qs["connectionId"] = "1";
            request.Setup(m => m.QueryString).Returns(qs);
            request.Setup(m => m.Form).Returns(form);
            request.Setup(m => m.Url).Returns(new Uri("http://test/echo/send"));
            var counters = new Mock<IPerformanceCounterManager>();
            var heartBeat = new Mock<ITransportHeartbeat>();
            var json = new JsonNetSerializer();
            var hostContext = new HostContext(request.Object, null);
            var transportConnection = new Mock<ITransportConnection>();
            var traceManager = new Mock<ITraceManager>();
            traceManager.Setup(m => m[It.IsAny<string>()]).Returns(new System.Diagnostics.TraceSource("foo"));
            var transport = new Mock<ForeverTransport>(hostContext, json, heartBeat.Object, counters.Object, traceManager.Object)
            {
                CallBase = true
            };

            transport.Object.Received = data =>
            {
                tcs.TrySetResult(data);
                return TaskAsyncHelper.Empty;
            };

            transport.Object.ProcessRequest(transportConnection.Object).Wait();

            Assert.Equal("This is my data", tcs.Task.Result);
        }
开发者ID:kppullin,项目名称:SignalR,代码行数:33,代码来源:ForeverTransportFacts.cs


示例17: TransportDisconnectBase

 public TransportDisconnectBase(HostContext context, IJsonSerializer jsonSerializer, ITransportHeartBeat heartBeat)
 {
     _context = context;
     _jsonSerializer = jsonSerializer;
     _heartBeat = heartBeat;
     _timeoutTokenSource = new CancellationTokenSource();
     _hostShutdownToken = context.HostShutdownToken();
 }
开发者ID:kristineyu,项目名称:SignalR,代码行数:8,代码来源:TransportDisconnectBase.cs


示例18: WebSocketTransport

 public WebSocketTransport(HostContext context, 
                           IJsonSerializer serializer, 
                           ITransportHeartBeat heartBeat,
                           IPerformanceCounterManager performanceCounterWriter)
     : base(context, serializer, heartBeat, performanceCounterWriter)
 {
     _context = context;
 }
开发者ID:TSASoftware,项目名称:SignalR,代码行数:8,代码来源:WebSocketTransport.cs


示例19: Execute

 public void Execute(HostContext host, string[] parameters)
 {
     Console.WriteLine(Environment.CurrentDirectory);
     Console.WriteLine("---------------------");
     foreach (var file in Directory.GetFiles(Environment.CurrentDirectory))
     {
         Console.WriteLine(new FileInfo(file).Name);
     }
 }
开发者ID:IskraNikolova,项目名称:Object-oriented-programming,代码行数:9,代码来源:DirCommand.cs


示例20: LongPollingTransport

 public LongPollingTransport(HostContext context,
                             IJsonSerializer jsonSerializer,
                             ITransportHeartbeat heartbeat,
                             IPerformanceCounterManager performanceCounterManager,
                             ITraceManager traceManager)
     : base(context, jsonSerializer, heartbeat, performanceCounterManager, traceManager)
 {
     _jsonSerializer = jsonSerializer;
     _counters = performanceCounterManager;
 }
开发者ID:rustd,项目名称:SignalR,代码行数:10,代码来源:LongPollingTransport.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# HostControl类代码示例发布时间:2022-05-24
下一篇:
C# Host类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap