2011-04-08 3 views
1

J'ai donnéWCF appel de service pendant la post

[WebGet(UriTemplate = "/{year}/{issue}/{article}")] 

Article GetArticle(string year, string issue, string article); 

[OperationContract] 

[WebInvoke(UriTemplate = "/{year}/{issue}",Method="POST")] 

Article AddArticle(string year, string issue, Article article); 

Mon URL est http://localhost:1355/Issues.svc/

si je donne ce que je suis aller chercher toutes les données de la base de données

http://localhost:1355/Issues.svc/2010/June/A

feux de méthode de getArticle pour les données filtrées à apporter de DB.

De même, je dois appeler la méthode Ajouter un article (WebInvoke) pour insérer des données dans la base de données. Comment dois-je appeler cette méthode dans le navigateur

comment mon URL doit être devrais-je donner la méthode = post

+0

Vous ne pouvez pas faire un post dans le navigateur seul - vous avez besoin d'outils complémentaires, comme [Fiddler] (http: // www .fiddler2.com/fiddler2 /) –

Répondre

1

Vous ne être en mesure d'envoyer un message HTTP à partir d'un navigateur en modifiant simplement l'URL. Vous devrez avoir une page web avec un formulaire HTML, du code Javascript, du code côté serveur ou autre chose qui a la capacité d'envoyer une requête HTTP POST à ​​votre URL de service.

Si vous êtes désireux de tester votre service tout en développement, voici un bon outil de débogage HTTP que vous pouvez consulter: http://fiddler2.com

0

Vous ne pouvez pas utiliser après en utilisant l'url du navigateur.

Essayez ce code

//Creating the Web Request. 
HttpWebRequest httpWebRequest = HttpWebRequest.Create("http://localhost/DemoApp/Default.aspx") as HttpWebRequest; 
//Specifing the Method 
httpWebRequest.Method = "POST"; 
//Data to Post to the Page, itis key value pairs; separated by "&" 
string data = "Username=username&password=password"; 
//Setting the content type, it is required, otherwise it will not work. 
httpWebRequest.ContentType = "application/x-www-form-urlencoded"; 
//Getting the request stream and writing the post data 
using (StreamWriter sw = new StreamWriter(httpWebRequest.GetRequestStream())) 
{ 
    sw.Write(data); 
} 
//Getting the Respose and reading the result. 
HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse; 
using (StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream())) 
{ 
    MessageBox.Show(sr.ReadToEnd()); 
} 

Source: http://www.dotnetthoughts.net/2009/11/10/post-data-using-httpwebrequest-in-c-sharp/