Наше приложение XBAP сталкивается с проблемой с БД Oracle. В приведенном ниже примере кода я просто открываю соединение с базой данных Oracle через ODP (Oracle.DataAccess.Client). Если необработанное исключение возникает перед открытием соединения, то, как обычно, узел презентации Windows ловит его и отображает страницу ошибки с трассировкой стека и прочим. Но, если исключение возникает во время ИЛИ после открытия соединения, сам хост презентации завершается с диалоговым окном «Проверка решения ...». Закрытие или удаление соединения не имеет никакого значения.
Этого не происходит при подключении к MSSQL или Sybase DB. Любое решение?
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
string connectionString = @"Data Source=UTUPG3;User Id=/;";
Oracle.DataAccess.Client.OracleConnection connection = new OracleConnection(connectionString);
// throw new ArgumentNullException(); //Here, presentation host shows error page.
connection.Open();
// Do stuff
connection.Close();
throw new ArgumentNullException(); // Here, presentation host crashes.
}
}