title: Advantages of WebInvoke POST compared to WEBGET
body: <p>hi i found one of the examples of wcf REST with a WEBINVOKE method just like the following</p>
  
  <pre><code>[OperationContract]
  [WebInvoke(
  BodyStyle=WebMessageBodyStyle.Bare,
  Method="POST",
  RequestFormat=WebMessageFormat.Xml,
  ResponseFormat=WebMessageFormat.Xml,
  UriTemplate="CreateStudent/{StudentName}/{Chair}/{AverageNote}")]
  int Insert(string StudentName, string Chair, string AverageNote);
  
  
  [OperationContract]
  [WebGet(
  BodyStyle= WebMessageBodyStyle.Bare,
  RequestFormat = WebMessageFormat.Xml,
  ResponseFormat = WebMessageFormat.Xml)]
  Student[] GetAllStudents();
  </code></pre>
  
  <p>my question is can i use WEBGET method instead of WEBINVOKE just like below and what exactly is the difference betwenn WEBINVOKE POST and WEBGET,
  as per my observation we are sending the parameters by appending query strings in the URI Templates for both WEbGet and WebInvoke POST, what are the advantages that we can get using WebInvoke POST which we can not get using WEBGET</p>
  
  <pre><code>[OperationContract]
  [WebGet(
  BodyStyle=WebMessageBodyStyle.Bare, 
  RequestFormat=WebMessageFormat.Xml,
  ResponseFormat=WebMessageFormat.Xml,
  UriTemplate="CreateStudent/{StudentName}/{Chair}/{AverageNote}")]
  int Insert(string StudentName, string Chair, string AverageNote);
  </code></pre>