im working on sharepoint 2010 (using visual webpart) is there any way to prevent duplicate
insert in a list when page is refreshed using F5, without using session
The sharepoint "way" is usually to redirect to the list view page after you have inserted a new item:
So the web part posts to some page, with a Source parameter:
Then after the save event, redirect
SPUtility.Redirect(base.ListEditPageLayoutsRelativeUrl, SPRedirectFlags.RelativeToLayoutsPage, this.Context);
Take a look at the FormDigest control and see if that will do what you need.