私は何が間違っているのか分かりませんが、私は2つのサービスWCFともう1つはASMXサービスです。なぜWCFはASMXと同じように動作しませんか?
私はasmxバージョンで行ったのと同じ方法で二重配列を呼び出そうとしています。ここで
は、2つのサービスのイメージである:
私はそのメソッドを呼び出すことができることに修正を得たが、私はArrayOfDouble
が同じように表示されない理由を知りたいです私のserviceref2として私のserviceref1?
これは、WCFのバージョンです:
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
[ServiceContract]
public interface SumListWCF
{
[OperationContract]
string CalculateSum(List<double> listDouble);
}
}
namespace WcfSum
{
// NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
public class SumList : SumListWCF
{
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
}
}
}
これはASMXバージョンである:
namespace CalculateWebServiceSum
{
/// <summary>
/// Summary description for Service1
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class SumList : System.Web.Services.WebService
{
[WebMethod]
public string CalculateSum(List<double> listDouble)
{
return listDouble.Sum().ToString();
//return listDouble.Select(n => (double)n).ToString();
}
}
}
前の投稿はここにあった:これは修正を提供するが、理由を説明しません
WCF array of doubles not called successfullyそれは同じように動作しません。それとも同じように行動する方法があれば。私は何かを根本的に欠いているように感じるのですか?
EDIT
P.sこれらは単なるローカルで実行されています。
WCFサービスについての汚い小さな秘密があります。私が知っている現実世界の誰も選択肢がなければ、誰もそれを使用しないような痛みです。旧式のASMXを作成し、VS2010でサービス参照を追加するときは、「Web参照の追加」に進みます。 –
WCFサービスはASMXサービスとは異なります。なぜあなたは彼らが違うのに驚いていますか? – Stilgar
私が知っている人の多くは、「現実の世界」でWCFを使用していますが、私は大騒ぎが何であるか分かりません。私はWCFがマイクロソフトのサポートと改善を継続している可能性が最も高いので、WCFを支持します。 http://keithelder.net/2008/10/17/WCF-vs-ASMX-WebServices/ – Kekoa