VANET (vehicle ad hoc network) is a very important part of smart city which is required to implement a myriad services related to vehicles safety, traffic efficiency and comfortable driving experience. The current researches on service discovery in VANET are mainly focused on quality and latency of service. But with the development of service number and service type in VANET, the information explosion in VANET is increasing seriously, so there is an urgent need for VANET to provide services considering users’ individual requirements. This paper presents a context based service recommendation middleware architecture for VANET which can recommend services for users based on vehicles’ rich context information and users’ service history. With offline theory, a context-based approach of service recommendation is provided. Only when services meet the vehicle’s context constraints and the users’ preference model, they could be recommended to the user. Experimental results show that the recommended services are reasonable and meet users’ preference, additionally, the detours probability caused by services can be reduced.