Webサービスで使用するためにSystem.Net.MailMessageクラスを継承して変更しています。他の理由でMailMessageという名前を付けておく必要があります。下のコードでこれを使用すると、私は以下のエラーを受け取ります。既存の.Netクラスの継承エラーを継承する
"タイプ 'System.Net.Mail.MailMessage'と 'TestWebService.MailMessage'は両方とも、名前空間 'http://tempuri.org/'からXMLタイプ名 'MailMessage'を使用します。固有のXML名や型名空間を指定してください。 "
私はXMLRootとType属性を追加する必要がありますが、正しい組み合わせを見つけることはできません。このエラーを解決するには何が必要ですか?あなたはそれがユニーク
using System.Xml.Serialization
[XmlType(Namespace = "http://tempuri.org/", TypeName = "SomethingOtherThanMailMessage")]
public class MailMessage : System.Net.Mail.MailMessage
{
}
シリアライズ
のために作るために名前または名前空間を変更するにはXmlTypeAttribute
を追加する必要が
namespace TestWebService
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string Test(MailMessage emailMessage)
{
return "It Worked!";
}
}
}
namespace TestWebService
{
public class MailMessage : System.Net.Mail.MailMessage
{
public MailMessage() : base()
{
}
}
}
[XmlType(Namespace = "test")]を使用してサブクラスを帰属させてください。 –
ところで、ASMX Webサービスは従来の技術であり、新しい開発には使用しないでください。 –