We were told when I studied catering and buffet service that advertising, ie. business cards,menus out etc. at a private function was a no-no. They have paid you for your service and you are there to provide that service and basically stay behind the scenes, it was acceptable to have cards in your pocket and if you were approached to discretely hand one to the person and to say please call me and I would be glad to discuss what I can offer, do not discuss it there as you are doing a job, and you would be taking time away from the service that you are being paid to provide. I always remembered them saying that it was not like no one knew who you were, the party that hired you has your contact information and everyone there was an invited guest and could get your information by making a phone call to who you were contracted to.
It was also made clear that if we were paying to be set up. ie. vending food at a street festival to definitely put business cards and menu's out and talk about business all you want. You are on your time and it is yours to spend how you want.