クライアント(jquery Webページ)から文字列リストを送信するWCFサービスがあります。wcfプロジェクトは、F5で実行するとビジュアルスタジオで完全に実行され、ウィンドウが開いて、下にリストオブジェクトが表示されたら[Invoke]をクリックしますInvoke.I は jquery でリスト データを使用するので、ajax を使用して wcf サービスを呼び出します。すべての構成設定は正しいです。私はabc
リストを検証できるクラスを使用しており、そのリストにいくつかのデータを設定する関数データを持っています。これが私のサービス コントラクトとデータ コントラクト フォーム WCF (IService1.cs) です。
namespace kgms
{
[ServiceContract]
public interface IService1
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
abc data(abc obj);
}
[DataContract]
public class abc {
[DataMember]
public List<string> sval { get; set; }
[DataMember]
public List<string> kval { get; set; }
}
}
そして、ここに私のデータ関数情報(Service1.svc.cs)があります:
namespace kgms
{
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1 : IService1
{
public abc data(abc obj) {
obj.sval.Add("asd");
obj.sval.Add("sdf");
obj.kval.Add("example");
obj.kval.Add(":-)");
return obj;
}
}
}
その ajax 呼び出しからアクセスします。
$('#buton').click(function () {
Type = "POST";
Url = "http://compname/sil/Service1.svc/data";
ContentType = "application/json; charset=utf-8";
DataType = "json"; var ProcessData = true;
CallService();
});
function CallService() {
$.ajax({
type: Type,
url: Url,
data: Object,
contentType: ContentType,
dataType: DataType,
processdata: ProcessData,
success: function (msg) {
ServiceSucceeded(msg);
},
error: ServiceFailed
});
}
function ServiceFailed(result) {
alert("basarisiz");
alert('Service call failed: ' + result.status + '' + result.statusText);
Type = null; varUrl = null; Data = null; ContentType = null; DataType = null; ProcessData = null;
}
function ServiceSucceeded(result) {
alert("good");
}
});
オブジェクトで送信する必要があるパラメーターData: Object
はサンプルであり、オブジェクトの代わりに書き込む必要があるものです。私の WCF 関数は abc クラス オブジェクトを使用しているため、どうすればよいでしょうか。