2009-05-01 19 views
3

我正在開發一個web服務,它返回我在web服務中定義的類的數組。當我測試它時,我得到:「System.InvalidOperationException:類型WebSite + HostHeader不是預期的。使用XmlInclude或SoapInclude屬性指定靜態未知的類型。」XmlInclude或SoapInclude

下面是部分代碼:

[WebService(Namespace = "http://WebSiteInfo.Podiumcrm.com/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
public class WebSite : System.Web.Services.WebService 
{ 
    public class WebSiteEntry 
    { 
     public string SiteName = ""; 
     public string Comment = ""; 
     public string IISPath = ""; 
     public int SiteID = 0; 
     public ArrayList HostHeaders; 

     public WebSiteEntry() 
     { 
     } 
    } 
    public class HostHeader 
    { 
     public string IPAddress = ""; 
     public int Port = 0; 
     public string URL = ""; 

     public HostHeader() 
     { 
     } 
    } 


    [WebMethod(EnableSession = true)] 
    [TraceExtension(Filename = @"C:\DotNetLogs\WebSiteServices.log")] 
    public WebSiteEntry[] WebSites() 
    {...} 
} 

當我嘗試:

[WebService(Namespace = "http://WebSiteInfo.Podiumcrm.com/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[XmlInclude(typeof(WebSiteEntry))] 
[XmlInclude(typeof(WebSiteProperty))] 
[XmlInclude(typeof(HostHeader))] 

public class WebSite : System.Web.Services.WebService 
{...} 

我得到:「類型或命名空間名稱XmlInclude找不到(是否缺少using指令或者組件參考?)「

指出可以給我編譯和執行的咒語的人!

謝謝...

回答

3

從錯誤您收到:

類型或命名空間名稱「XmlInclude」找不到(是否缺少using指令或程序集引用?)

看來你錯過了System.Xml.Serialization Namespace。您可以完全限定XmlInclude類型,像這樣:

System.Xml.Serialization.XmlInclude(typeof(WebSiteProperty)) 

,或者通過使用指令添加命名空間:

using System.Xml.Serialization 
相關問題