2014-05-14 3 views
4

C#에서 WebMethod's의 일부가 jQuery의 ajax 함수를 통해 호출되는 ASP.NET WebForm 응용 프로그램이 있습니다. 내가 페이지에 소스를 볼 때, 나는 이런 식으로 뭔가를보고 있어요 통지를 제외하고 모든 것이 잘 작동하는 이러한 /// 라인이 필요하고 그렇지 않은 경우입니다ASP.NET 페이지 표시 안 함 설명서 설명

<script type="text/javascript"> 
    //<![CDATA[ 
    var PageMethods = function() { 
     PageMethods.initializeBase(this); 
     this._timeout = 0; 
     this._userContext = null; 
     this._succeeded = null; 
     this._failed = null; 
    } 
    PageMethods.prototype = { 
     _get_path:function() { 
      var p = this.get_path(); 
      if (p) return p; 
      else return PageMethods._staticInstance.get_path();}, 
      CreateNewFranchise:function(name,firstName,lastName,address1,address2,streetSuffixId,city,stateId,county,zip,mainPhoneAreaCode,mainPhoneTypeId,mainPhonePrefix,mainPhoneSuffix,storeCode,storeKey,merchantId,corporateShop,franchiseNumber,succeededCallback, failedCallback, userContext) { 
      /// <param name="name" type="String">System.String</param> 
      /// <param name="firstName" type="String">System.String</param> 
      /// <param name="lastName" type="String">System.String</param> 
      /// <param name="address1" type="String">System.String</param> 
      /// <param name="address2" type="String">System.String</param> 
      /// <param name="streetSuffixId" type="String">System.String</param> 
      /// <param name="city" type="String">System.String</param> 
      /// <param name="stateId" type="String">System.String</param> 
      /// <param name="county" type="String">System.String</param> 
      /// <param name="zip" type="String">System.String</param> 
      /// <param name="mainPhoneAreaCode" type="String">System.String</param> 
      /// <param name="mainPhoneTypeId" type="String">System.String</param> 
      /// <param name="mainPhonePrefix" type="String">System.String</param> 
      /// <param name="mainPhoneSuffix" type="String">System.String</param> 
      /// <param name="storeCode" type="String">System.String</param> 
      /// <param name="storeKey" type="String">System.String</param> 
      /// <param name="merchantId" type="String">System.String</param> 
      /// <param name="corporateShop" type="Boolean">System.Boolean</param> 
      /// <param name="franchiseNumber" type="String">System.String</param> 
      /// <param name="succeededCallback" type="Function" optional="true" mayBeNull="true"></param> 
      /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param> 
      /// <param name="userContext" optional="true" mayBeNull="true"></param> 
      ... 
      ... 
      ... 

내가 궁금 것은 거기 ASP.NET이 그들을 억압하게하는 방법? 필자는 XML 문서 마크 업처럼 보입니다. XML 문서 마크 업 일 필요는 없습니다. 약 8 WebMethod's 내 C# 있음, 이러한 라인을 추가하고 가능한 경우 그들을 필터링하고 싶습니다.

답변

2

이 행은 디버그 중에 개발자의 편의를 위해 작성된 것일뿐입니다. web.config에서 다음 설정 중 하나가 설정되어있는 경우 댓글이 생성되지 않습니다 ScriptManager.ScriptMode 속성을 명시 적으로 Release로 설정되어있는 경우

  • <deployment retail="false" />
  • <compilation debug="false" />

플러스 주석이 생성되지 않습니다.

PageMethods 스크립트 생성을 담당하는 클래스는 PageClientProxyGenerator입니다. 위 조건은 ScriptManager 소스 코드에 설명되어 있습니다.

public bool IsDebuggingEnabled { 
    get { 
     // Returns false when: 
     // - Deployment mode is set to retail (override all other settings) 
     // - ScriptMode is set to Auto or Inherit, and debugging it not enabled in web.config 
     // - ScriptMode is set to Release 

     if (DeploymentSectionRetail) { 
      return false; 
     } 
     if (ScriptMode == ScriptMode.Auto || ScriptMode == ScriptMode.Inherit) { 
      return AppLevelCompilationSection.Debug; 
     } 
     return (ScriptMode == ScriptMode.Debug); 
    } 
} 
+0

이것은 절대적으로 고쳐졌습니다! 'PageClientProxyGenerator'에 추가 세부 사항을 추가해 주셔서 감사합니다. – Icemanind