2009-05-01 2 views
3

저는 웹 서비스 내에서 정의한 클래스 배열을 반환하는 webservice를 개발 중입니다. 테스트 할 때 "System.InvalidOperationException : WebSite + HostHeader 유형이 예상되지 않았습니다 .XmlInclude 또는 SoapInclude 특성을 사용하여 정적으로 알 수없는 형식을 지정하십시오." 내가하려고하면Xml 포함 또는 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이 누락 된 것 같습니다.

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

또는 using 지시문을 통해 네임 스페이스를 추가합니다 : 사용자는이처럼 XmlInclude 유형을 자격을 수

using System.Xml.Serialization