Разрешение вопросов, связанных с исключениями: System.InvalidOperationException
Обновлен: Ноябрь 2007
Исключения InvalidOperationException генерируются при сбоях вызова метода, вызванных причиной, отличной от передачи недопустимого аргумента. Это исключение может создаваться методами .NET Framework в случае невозможности вызова базового метода Win32.
Полезные советы
При использовании объекта Graphics после метода GetHdc вызовите метод ReleaseHdc.
При этом освободится дескриптор контекста, полученный в результате предыдущего вызова метода GetHdc объекта Graphics.Чтобы операция сохранения была выполнена успешно, для классов TableAdapter требуется использование допустимых команд UPDATE, INSERT и DELETE.
Классы TableAdapter генерируют инструкции INSERT, UPDATE и DELETE исходя из исходной инструкции SELECT, введенной в мастере. В некоторых ситуациях SELECT не предоставляет адаптеру достаточный объем сведений для генерации команд, которые нужны для создания команд INSERT, UPDATE и DELETE, необходимых для успешного сохранения. Это часто происходит, когда в таблице базы данных отсутствует столбец первичного ключа, или если команда SELECT использует соединения. Дополнительные сведения см. в разделе Практическое руководство. Изменение объектов TableAdapter.Передайте конструктору клиента службы допустимое имя конечной точки.
Если клиент Windows Communication Foundation (WCF) имеет только одну конечную точку, неоднозначность отсутствует, и передавать конечную точку в качестве аргумента нет необходимости. Однако если для одного типа контракта существует несколько конечных точек, необходимо указать, какая из них используется клиентом. Например, при определении клиента в качестве экземпляра ServiceReference.ServiceSoapClient() без передачи аргумента возникнет исключение. Проблему можно решить путем указания конкретной конечной точки:Dim client As New ServiceReference.ServiceSoapClient("ServiceSoap")
Аналогично, это исключение возникнет при передаче имени конечной точки, которая не может быть найдена. В таком случае необходимо выяснить и передать допустимое имя конечной точки.
Дополнительные сведения о конечных точках см. в разделе Конечные точки Windows Communication Foundation.
Замечания
При выполнении кода в отладчике Visual Studio при попытке обращения к элементу пользовательского интерфейса из любого потока, отличного от того, в котором он был создан, генерируется исключение InvalidOperationException. Отладчик делает это, чтобы предупредить об опасном стиле программирования. Элементы пользовательского интерфейса не являются потокобезопасными, и доступ к ним должен осуществляться только из потока, в котором они созданы. Дополнительные сведения см. в разделе Многопотоковость в Visual Basic.
В случае сбоя вызова метода вследствие недопустимого аргумента или аргументов генерируется исключение ArgumentException или исключение одного из его производных классов — ArgumentNullException или ArgumentOutOfRangeException.
Если Visual Studio и SQL Server Compact 3.5 используются для разработки 64-разрядных приложений, то в качестве значения параметра Конечный ЦП в разделе Дополнительные параметры компилятора должно быть выбрано значение x86. Если присвоить параметру Конечный ЦП значение по умолчанию (Любой ЦП), может возникнуть следующее сообщение об ошибке: "Не удалось загрузить sqlceme35.dll". Задайте параметр Конечный ЦП в разделе Дополнительные параметры компилятора свойств проекта.