These are the follwing steps we need to follow to connect windows phone with wcf service 1.Creation of service 2.Hosting the service in IIS
3.Connecting from the windows phone
step 1:
>> First we need to create a wcf service.and put it in the D drive.Lets name it as WinPhoneWcfService. For the connectivity to DataBase we need to add an
ADO.Net Entity Data Model.
>>Then in the IService.cs we need to declare a method
[OperationContract] List UserDetails();
>>Then in the Service.cs we need to define this Method
public List UserDetails() { List lsdUserInfoDetails = new List(); string[] allUserList; try { userDataConnection userContext = new userDataConnection(); var query = (from Info in userContext.UserInfo select Info).ToList(); foreach(var userdetails in query) { allUserList = new string[8]; allUserList[0] = userdetails.UserName.ToString(); allUserList[1] = userdetails.UserCity.ToString(); allUserList[2] = userdetails.UserState.ToString(); allUserList[3] = userdetails.UserGender.ToString(); allUserList[4] = userdetails.UserAge.ToString(); allUserList[5] = userdetails.UserDescription.ToString(); lsdUserInfoDetails.Add(allUserList); } } catch (Exception es) { } return lsdUserInfoDetails; }
Then we need to build the service
step 2:
Then we need to Host it in the IIS
>> First we have to create a virtual directory
lets name it as WinPhoneService
>>Then we need to convert it to application
>>Then we need to enable the Directory Browsing
>>after browsing it we will get the Service refernce
step 3:
Now its time to connect it from the Windows Phone
>>First we need to create new project named it as UserApp
>> Suppose we want to display the user details so we need to add a ListBox
>>In the MainPage.xaml add the following code
>>In the MainPage.xaml.cs we need to add the following code public partial class MainPage : PhoneApplicationPage { List userList = new List(); // Constructor public MainPage() { InitializeComponent(); UserServiceReference.ServiceClient client = new ServiceClient(); //Event handler after webservice completes operation. client.UserDetailsCompleted += new EventHandler (serviceClient_UserDetailsCompleted); client.UserDetailsAsync(); } } //Completed event of the UserDetails public void serviceClient_UserDetailsCompleted(Object sender,UserDetailsCompletedEventArgs e ) { try { var lsdUser = e.Result.ToList(); foreach (var userData in lsdUser) { User userObj = new User(); userObj.UserName =userData[0].ToString(); userObj. userCity = userData[1].ToString(); userObj. userState=userData[2].ToString(); userObj. userGender=userData[3].ToString(); userObj. userAge=userData[4].ToString(); userObj. userDescription=userData[5].ToString(); userList.Add(userObj); } //Binding Data to the userListBox userListBox.ItemsSource = userList; } catch (Exception ex) { string message = ex.ToString(); } } /// /// User class /// public class User { private string userName; private string userID; private string userState; private string userCity; private string userGender; private string userAge; public string UserID { get { return userID; } set { userID = value; } } public string UserName { get { return userName; } set { userName = value; } } public string UserState { get { return userState; } set { userState = value; } } public string UserCity { get { return userCity; } set { userCity = value; } } public string UserAge { get { return userAge; } set { userAge = value; } } public string UserGender { get { return userGender; } set { userGender = value; } } }