私は Web テクノロジーの初心者です。という WebService がありますSample。name の dll を参照しますCustom.dll。私はシリアライゼーションとしてマークされてWebMethodいるクラスを返しています。Custom.dll
// 私のカスタムクラス
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[SerializableAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://somthing-something.mydomain.com/")]
public class CustomClass
{
public string id;
public string key;
}
// My Web Service メソッド
[WebMethod]
public CustomClass MyWsMethod()
{
return new CustomClass{id="id", key="Key"};
}
また、私の Web サービスは WCF サービスであり、そのasmx中にファイルがあります。
私はアプリケーションでこの Web サービスを使用しており、サービスは Web サービスを として参照していlocalhostWSます。私のアプリケーションも参照していCustom.dllます。Web サービス メソッドを呼び出すと、Custom.CustomClassオブジェクトを取得できません。私は戻っlocalhostWS.CustomClassてきて、それを にキャストすることもできませんCustom.CustomClass。
CustomClass custom = localhostWS.MyWsMethod();
ここでcustomオブジェクトはタイプですlocalhostWS.CustomClassが、私は期待していCustom.CustomClassました。
ここで何が起こっているのか教えてください。さらに情報を提供する必要がある場合はお知らせください。私は自分の質問を明確にするために十分に努力しました。
編集
これについても言及する必要があります。クライアント側のコードを変更せずにこれを達成することは素晴らしいことです。諸事情により変更不可となります。ただし、提案は大歓迎です。