Сервисный звонок WCF во время поста - PullRequest
1 голос
/ 08 апреля 2011

Я дал

[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);

Мой URL-адрес http://localhost:1355/Issues.svc/

Если я дам это, я получаю все данные из базы данных

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

Метод GetArticle запускает для фильтрации отфильтрованных данных из БД.

Аналогичным образом мне нужно вызвать метод Add Article (WebInvoke) для вставки данных в базу данных.Как мне вызвать этот метод в браузере

каким должен быть мой URL, если я должен дать метод = post

Ответы [ 3 ]

1 голос
/ 08 апреля 2011

Вы не сможете отправить сообщение HTTP из браузера, просто изменив URL. Вам понадобится веб-страница с HTML-формой, кодом Javascript, кодом на стороне сервера или чем-то еще, что позволяет отправлять HTTP-запрос POST к URL-адресу вашей службы.

Если вы просто хотите протестировать свой сервис в процессе разработки, вот хороший инструмент отладки HTTP, который вы можете попробовать: http://fiddler2.com

1 голос
/ 08 апреля 2011

отметьте этот пост, чтобы помочь вам достичь желаемой задачи: Создать службу REST с WCF и использовать с помощью jQuery

0 голосов
/ 08 апреля 2011

Вы не можете использовать его, используя URL браузера.

Попробуйте этот код

//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());
}

Источник: http://www.dotnetthoughts.net/2009/11/10/post-data-using-httpwebrequest-in-c-sharp/

...