WCF REST サービス テンプレート 40(CS)を使用して WCF サービスを作成しました 。メソッド ヘッダーは次のようになります。
[WebInvoke(UriTemplate = "CTNotification", Method = "POST", ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
public string CTNotification(Stream contents)
そして、これが私がそれをどのように使用しているかです:
string url = ConfigurationManager.AppSettings["serviceUrl"];
string requestUrl = string.Format("{0}CTNotification", url);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUrl);
request.Method = "POST";
request.ContentType = "application/json";
//request.ContentType = "text/plain";
request.Timeout = 5000000;
byte[] fileToSend = File.ReadAllBytes(Server.MapPath("~/json.txt"));
request.ContentLength = fileToSend.Length;
using (Stream requestStream = request.GetRequestStream())
{
// Send the file as body request.
requestStream.Write(fileToSend, 0, fileToSend.Length);
requestStream.Close();
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
Console.WriteLine("HTTP/{0} {1} {2}", response.ProtocolVersion, (int)response.StatusCode, response.StatusDescription);
Label1.Text = "file uploaded successfully";
悪いエラー400が発生しますが、コンテンツタイプをプレーンにすると機能しますが、json.txtに保存されているjsonを渡したいです。それを行う方法を教えてください。
ありがとう。