Time consuming operations should not be done in constructor. I would recommend to create method with signature: async Task Initialize(). MessageBox messages should be handled outside DataServiceModel. DataServiceModel  should only throw proper exception, that is handled higher.