2010-04-04 6 views
0

아래의 saveXML 코드를 실행하면 위의 오류가 발생합니다.Webdev.Webserver가 작동을 멈췄습니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Xml.Serialization; 
using System.IO; 

/// <summary> 
/// Summary description for Post 
/// </summary> 
public class Post 
{ 
    private int postIDCounter = 0; 
    private String DateCreated; 

    public Post() 
    { 
     Author = "unknown"; 
     Title = "unkown"; 
     Content = ""; 
     DateCreated = DateTime.Now.ToString(); 
     ID = postIDCounter++; 
    } 

    public int ID 
    { 
     get { return ID; } 
     set 
     { 
      if (ID != value) 
       ID = value; 
     } 
    } 

    public string Author 
    { 
     get { return Author; } 
     set 
     { 
      if (Author != value) 
       Author = value; 
     } 
    } 

    public string Title 
    { 
     get { return Title; } 
     set 
     { 
      if (Title != value) 
       Title = value; 
     } 
    } 

    public string Content 
    { 
     get { return Content; } 
     set 
     { 
      if (Content != value) 
       Content = value; 
     } 
    } 

    public void saveXML() 
    { 
     XmlSerializer serializer = new XmlSerializer(typeof(Post)); 
     Stream writer = new FileStream("..'\'App_Data'\'posts'\'" + new Guid(ID.ToString()).ToString() + ".xml", FileMode.Create); 
     serializer.Serialize(writer, this); 
     writer.Close(); 
    } 
} 

답변

3

모든 변수는 순환 참조이며, 결국 시스템이 중단되고 결국 중단됩니다.

public string Content 
    { 
     get { return Content; } 

예를 들어, 여기에 콘텐츠를 반환 하겠지만 반환은 다시 콘텐츠를 가져오고 콘텐츠를 얻고 이해합니다. 이 줄에서 영원히 반복됩니다 ... 그리고 모든 줄에서 당신은 그런 것을 가지고 있습니다.

이렇게하십시오.

string inside_Content; 

    public string Content 
    { 
     get { return inside_Content; } 
     set { inside_Content = value;} 
    } 
관련 문제