2014-05-14 52 views
4

我有一個ASP.NET WebForm應用程序,在C#中有一些WebMethod's正在通過jQuery的ajax函數調用。一切工作正常,但我注意到,當我在頁面上查看源代碼,我看到這樣的事情:抑制ASP.NET PageMethods文檔評論意見

<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文檔標記,這不應該是必需的。在我的C#中有大約8 WebMethod's,這些行加在一起,如果可能的話我想過濾它們。

回答

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