本文整理汇总了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;未经允许,请勿转载。 |
请发表评论