В настоящее время я разрабатываю некоторые настольные приложения, используя websockets (точнее: я работаю с Alchemy WebSockets). В настоящее время мой код работает отлично, но Visual Studio 2010 говорит мнеCA2000 - «вне школы-младшие программисты» - ошибки или ложные срабатывания?
Warning 2 CA2000 : Microsoft.Reliability : In method 'ServerController.SetupServer(int)', call System.IDisposable.Dispose on object '<>g__initLocal0' before all references to it are out of scope. C:\Users\MaRiedl\documents\visual studio 2010\Projects\Alchemy-WebSockets\AWS-Server\ServerController.cs 38 AWS-Server
Я уже пытался решить эту проблему с помощью MSDNs (http://msdn.microsoft.com/en-us/library/ms182289.aspx) и (конечно) путем поиска и stackoverflow.com дня ночи (Uses of "using" in C#) - но, к сожалению, это не улучшится.
Итак, вот мой вопрос: я далеко от «младшего», чтобы увидеть проблему, которую я не могу найти, или это просто ложный позитив от Visual Studio 2010?
Вот кусок кода, который я борюсь с:
private WebSocketServer _webSocketServer;
private void SetupServer(int port)
{
// set port and configure authorized ip addresses to connect to the server
_webSocketServer = new WebSocketServer(port, IPAddress.Any)
{
OnReceive = OnReceive,
OnSend = OnSend,
OnConnect = OnConnect,
OnConnected = OnConnected,
OnDisconnect = OnDisconnect,
TimeOut = new TimeSpan(0, TimeoutInMinutes, 0)
};
_webSocketServer.Start();
}
спасибо, это очень помогло - не знало, что эти фантастические фигурные скобки приведут к временному объекту –