辞書やツリーなどの複雑なオブジェクトを渡すことができないという Web サービスの問題を回避するために、いくつかの値フィールドを持つ小さな構造体をクラス内に作成しました。ただし、Web サービスはソリューション内の別のプロジェクトにあり、webService 関数を呼び出す背後のコードが構造体が何であるかを知る方法がわかりません。構造体をビハインド コード ファイルにコピーする必要がありますか? インポートできますか?
以下に小さな例を示します。
namespace mYWebService{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class Service1 : System.Web.Services.WebService
{
struct TreeData
{
private readonly string text;
private readonly string parent;
private string val;
public TreeData (string Text, string Parent)
{
this.text = Text;
this.parent = Parent;
this.val = "";
}
public TreeData (string Text, string Parent, string Value)
{
this.text = Text;
this.parent = Parent;
this.val = Value;
}
public string Text { get { return text; } }
public string Parent { get { return parent; } }
public string Value { get { return val; } }
}
[WebMethod]`
public TreeData getTree(){
TreeData myTree = new TreeData("1","2","3");
return myTree;
}}