Police was alerted to a brawl involving several asylum seekers in the town of Brissago on Saturday afternoon.
Upon intervening, officers escorted two asylum seekers into the building where they were rushed at by a 38-year-old man brandishing two knives.
The incident resulted in police firing at the attacker and fatally injuring him.
The Swiss prosecutor’s office has opened an investigation into the conduct of the officer responsible for the man’s death.
The refugee center, situated near a town hall, is said to have been housing dozens of Sri Lankan asylum seekers for several years.