Witam,
Pytanie dotyczy aplikacji Windows Phone 8.1 Silverlight która korzysta z napisanej przeze mnie usługi WCF do łączenia i pobierania informacji z bazy danych. Chodzi mi o to, w jaki sposób obsłużyć wyjątek błędu komunikacji z bazą danych? Przypuśćmy, że usługa jest włączona i mamy do niej dostęp, natomiast usługa nie ma dostępu do bazy danych z jakiegoś powodu. Czy taka obsługa błędu powinna znajdować się po stronie WCFa?
Druga sprawa: postanowiłem sobie zasymulować brak dostępu do usługi WCF. Zmieniłem w tym celu po prostu adres IP do usługi. Chcę ten wyjątek obsłużyć z poziomu aplikacji. Jednak jakkolwiek bym się nie starał, to i tak wywala mi błąd Visual Studio. Doradzi ktoś jaka klasa błędu jest odpowiedzialna za obsługę błędu komunikacji z usługą?
Próbuję coś takiego:
public partial class Kurs : PhoneApplicationPage
{
CenyMiejscaService.CenyMiejscaServiceClient cenyMiejscaUsluga;
Dictionary<DateTime, double> kurs;
public Kurs()
{
InitializeComponent();
kurs = new Dictionary<DateTime, double>();
try
{
cenyMiejscaUsluga = new CenyMiejscaService.CenyMiejscaServiceClient();
cenyMiejscaUsluga.PobierzKursRublaCompleted += cenyMiejscaUsluga_PobierzKursRublaCompleted;
cenyMiejscaUsluga.PobierzKursRublaAsync();
}
catch(CommunicationException ex) // Próbowałem różne Exceptiony
{
MessageBox.Show(ex.Message);
}
}
To ciągle mnie wywala i dostaję komunikat w pliku Reference.cs:
EDIT: Czyli krótko mówiąc, chciałbym zapobiec wysypywaniu się aplikacji w momencie, gdy z jakiegoś powodu nie ma dostępu do usługi WCF.