我正在尝试使用{p> {1}}设置超时
oiasdjiasjoij
但是这会在我的Unity应用程序中抛出HttpListener
。我在Unity 2019.1.0a10中在.NET 4.5中添加了TimeoutManager属性(在2018.3中具有相同的行为),我目前正在使用当前defaults to .NET 4.6的.NET 4.x运行时。
为了验证这不是我搞砸了,我针对.NET 4.6创建了一个单独的C#项目,并制作了以下程序:
HttpListener listener;
void Foo()
{
listener.TimeoutManager.IdleConnection = TimeSpan.FromMinutes(5);
}
运行正常,分别记录NotImplementedException
和private static void Main(string[] args)
{
HttpListener listener = GetNewListener();
Console.WriteLine(listener.TimeoutManager.IdleConnection);
HttpListener listener2 = new HttpListener();
SetIdleTimeout(ref listener2, 10);
Console.WriteLine(listener2.TimeoutManager.IdleConnection);
Console.ReadLine();
}
public static void SetIdleTimeout(ref HttpListener listener, int timeout)
{
listener.TimeoutManager.IdleConnection = TimeSpan.FromMinutes(timeout);
}
public static HttpListener GetNewListener()
{
HttpListener listener = new HttpListener();
listener.TimeoutManager.IdleConnection = TimeSpan.FromMinutes(5);
listener.TimeoutManager.HeaderWait = TimeSpan.FromMinutes(5);
listener.TimeoutManager.DrainEntityBody = TimeSpan.FromMinutes(5);
return listener;
}
。
现在知道它实际上可以在之外统一使用,我将此程序构建到DLL中并将其包含在我的Unity项目中,希望调用00:05:00
将使用dll框架的00:10:00
,因此可以进行设置。但这也会导致GetNewListener
。
是否有一种方法可以解决以下事实:它不是统一实现的,不是使用DLL的,还是自己实现的?还是唯一尝试与Unity联系并希望他们实现的解决方案?
编辑:
提醒我,Unity实际上使用 mono ,并且在其github上查看TimeoutManager
的mono实现确实显示了NotImplementedException
。
现在我的原始问题仍然存在:是否可以用DLL的 .net 实现覆盖 mono 实现?