2011-08-15 39 views
0

私はasp.net 4で休憩サービスを作成しました。これはnhydrateツールによって生成されました。サービスを実行してヘルプページを参照すると、多くのリレーションシップを持つ複雑なメソッドを選択して例を選ぶと、w3wp.exeはすべてのサーバーメモリを3分で起動し、サービスはoutofmemoeryexceptionを返します。私は本当にこの問題と混乱しています。どんな助けも大歓迎です。私が要求しているすべてのデータはJSONの小さなパケットですが、このメソッドのマッピングされたテーブルは複雑です。WCFメモリの残りの問題

public class DataService : IDataService 
    { 
     /// <summary> 
     /// Get a list of all GetJobList DTO items 
     /// </summary> 
     public List<di.testproj.DataTransfer.Job> GetJobList() 
     { 
      var retval = new List<di.testproj.DataTransfer.Job>(); 
      retval.RunSelect(); 
      return retval; 
     } 
    } 



[ServiceContract] 
    public interface IDataService 
    { 

     #region Job Select All 

     /// <summary> 
     /// Get a list of all Job DTO items 
     /// </summary> 
     /// 
     [WebGet(UriTemplate = "JobList", ResponseFormat = WebMessageFormat.Json)] 
     [Description("Description for GET /JobList")] 
     [OperationContract] 
     List<di.testproj.DataTransfer.Job> GetJobList(); 

     #endregion 
    } 

DTO層:

[Serializable()] 
    [DataContract()] 
    public partial class Job : IDTO 
    { 
     #region Class Members 

     #region FieldNameConstants Enumeration 

     /// <summary> 
     /// An enumeration of this object's fields 
     /// </summary> 
     public enum FieldNameConstants 
     { 
      /// <summary> 
      /// Field mapping for the 'SectorID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'SectorID' property")] 
      SectorID, 
      /// <summary> 
      /// Field mapping for the 'SectionID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'SectionID' property")] 
      SectionID, 
      /// <summary> 
      /// Field mapping for the 'ReportingToID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'ReportingToID' property")] 
      ReportingToID, 
      /// <summary> 
      /// Field mapping for the 'PreferredQualificationsEn' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'PreferredQualificationsEn' property")] 
      PreferredQualificationsEn, 
      /// <summary> 
      /// Field mapping for the 'PreferredQualificationsAr' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'PreferredQualificationsAr' property")] 
      PreferredQualificationsAr, 
      /// <summary> 
      /// Field mapping for the 'PreferredExperinceEn' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'PreferredExperinceEn' property")] 
      PreferredExperinceEn, 
      /// <summary> 
      /// Field mapping for the 'PreferredExperinceAr' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'PreferredExperinceAr' property")] 
      PreferredExperinceAr, 
      /// <summary> 
      /// Field mapping for the 'JobTypeID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobTypeID' property")] 
      JobTypeID, 
      /// <summary> 
      /// Field mapping for the 'JobTitleEn' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobTitleEn' property")] 
      JobTitleEn, 
      /// <summary> 
      /// Field mapping for the 'JobTitleAr' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobTitleAr' property")] 
      JobTitleAr, 
      /// <summary> 
      /// Field mapping for the 'JobObjectiveEn' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobObjectiveEn' property")] 
      JobObjectiveEn, 
      /// <summary> 
      /// Field mapping for the 'JobObjectiveAr' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobObjectiveAr' property")] 
      JobObjectiveAr, 
      /// <summary> 
      /// Field mapping for the 'JobID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobID' property")] 
      JobID, 
      /// <summary> 
      /// Field mapping for the 'JobFamilyID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobFamilyID' property")] 
      JobFamilyID, 
      /// <summary> 
      /// Field mapping for the 'JobCategoryID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'JobCategoryID' property")] 
      JobCategoryID, 
      /// <summary> 
      /// Field mapping for the 'IsActive' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'IsActive' property")] 
      IsActive, 
      /// <summary> 
      /// Field mapping for the 'ID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'ID' property")] 
      ID, 
      /// <summary> 
      /// Field mapping for the 'DivisionID' property 
      /// </summary> 
      [System.ComponentModel.Description("Field mapping for the 'DivisionID' property")] 
      DivisionID, 
     } 

     #endregion 

     #endregion 

     #region Constructors 

     /// <summary> 
     /// The default contructor for the Job DTO 
     /// </summary> 
     public Job() 
     { 
     } 

     #endregion 

     #region Object Properties 

     /// <summary> 
     /// The DivisionID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? DivisionID { get; set; } 
     /// <summary> 
     /// The ID field 
     /// </summary> 
     [DataMember()] 
     public virtual int ID { get; set; } 
     /// <summary> 
     /// The IsActive field 
     /// </summary> 
     [DataMember()] 
     public virtual bool? IsActive { get; set; } 
     /// <summary> 
     /// The JobCategoryID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? JobCategoryID { get; set; } 
     /// <summary> 
     /// The JobFamilyID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? JobFamilyID { get; set; } 
     /// <summary> 
     /// The JobID field 
     /// </summary> 
     [DataMember()] 
     public virtual int JobID { get; set; } 
     /// <summary> 
     /// The JobObjectiveAr field 
     /// </summary> 
     [DataMember()] 
     public virtual string JobObjectiveAr { get; set; } 
     /// <summary> 
     /// The JobObjectiveEn field 
     /// </summary> 
     [DataMember()] 
     public virtual string JobObjectiveEn { get; set; } 
     /// <summary> 
     /// The JobTitleAr field 
     /// </summary> 
     [DataMember()] 
     public virtual string JobTitleAr { get; set; } 
     /// <summary> 
     /// The JobTitleEn field 
     /// </summary> 
     [DataMember()] 
     public virtual string JobTitleEn { get; set; } 
     /// <summary> 
     /// The JobTypeID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? JobTypeID { get; set; } 
     /// <summary> 
     /// The PreferredExperinceAr field 
     /// </summary> 
     [DataMember()] 
     public virtual string PreferredExperinceAr { get; set; } 
     /// <summary> 
     /// The PreferredExperinceEn field 
     /// </summary> 
     [DataMember()] 
     public virtual string PreferredExperinceEn { get; set; } 
     /// <summary> 
     /// The PreferredQualificationsAr field 
     /// </summary> 
     [DataMember()] 
     public virtual string PreferredQualificationsAr { get; set; } 
     /// <summary> 
     /// The PreferredQualificationsEn field 
     /// </summary> 
     [DataMember()] 
     public virtual string PreferredQualificationsEn { get; set; } 
     /// <summary> 
     /// The ReportingToID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? ReportingToID { get; set; } 
     /// <summary> 
     /// The SectionID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? SectionID { get; set; } 
     /// <summary> 
     /// The SectorID field 
     /// </summary> 
     [DataMember()] 
     public virtual int? SectorID { get; set; } 

     #endregion 

     #region Navigation Properties 

     /// <summary> 
     /// The relation Job -> Competency 
     /// </summary> 
     [DataMember()] 
     public virtual IList<Competency> CompetencyList { get; set; } 

     /// <summary> 
     /// The relation Job -> JobDuty (Role: Jobduties_jobs) 
     /// </summary> 
     [DataMember()] 
     public virtual IList<JobDuty> Jobduties_jobsJobDutyList { get; set; } 

     /// <summary> 
     /// The relation Job -> Job (Role: Jobs_jobs) 
     /// </summary> 
     [DataMember()] 
     public virtual IList<Job> Jobs_jobsJobList { get; set; } 

     /// <summary> 
     /// The relation JobCategorie -> Job (Role: Jobs_jobcategories) 
     /// </summary> 
     [DataMember()] 
     public virtual JobCategorie Jobs_jobcategoriesJobCategorie { get; set; } 

     /// <summary> 
     /// The relation JobFamily -> Job (Role: Jobs_jobfamilies) 
     /// </summary> 
     [DataMember()] 
     public virtual JobFamily Jobs_jobfamiliesJobFamily { get; set; } 

     /// <summary> 
     /// The relation Job -> Job (Role: Jobs_jobs) 
     /// </summary> 
     [DataMember()] 
     public virtual Job Jobs_jobsJob { get; set; } 

     /// <summary> 
     /// The relation JobType -> Job (Role: Jobs_jobtypes) 
     /// </summary> 
     [DataMember()] 
     public virtual JobType Jobs_jobtypesJobType { get; set; } 

     /// <summary> 
     /// The relation Sector -> Job (Role: Jobs_sectors) 
     /// </summary> 
     [DataMember()] 
     public virtual Sector Jobs_sectorsSector { get; set; } 

     #endregion 

    } 

} 


public static void RunSelect(this List<di.testproj.DataTransfer.Competency> list) 
     { 
      if (list == null) list = new List<di.testproj.DataTransfer.Competency>(); 
      var retval = di.testproj.Business.Objects.CompetencyCollection.RunSelect(); 
      foreach (di.testproj.Business.Objects.Competency item in retval) 
      { 
       var newItem = new di.testproj.DataTransfer.Competency(); 
       newItem.Fill(item); 
       list.Add(newItem); 
      } 
     } 

すべてのヘルプは素晴らしいことです。

答えて

0

ここでは普通のことは何も表示されません。サービスメソッドのコードと使用しているデータコントラクトを追加することができます。

+0

こんにちは、いくつかの調査の後で編集した質問を確認してください – Madi

+0

RunSelect()とは何ですか?私はDBの仕事をする拡張メソッドを推測しています。 – Maurice

+0

はいモーリス、DBからアイテムを持ってきます – Madi