2012-03-16 49 views
2

我想知道用長查詢字符串參數創建ASP.NET HTTP處理程序(.ashx)的最佳解決方案是什麼,因爲我有像「description」這將是一個很長的字符串,當通過HTTP請求訪問它時,會在URL中產生問題。具有長查詢字符串參數的ASP.NET處理程序(.ashx)

+4

爲什麼你不能發佈呢? – 2012-03-16 13:22:40

+0

謝謝Daniel A. White – 2012-03-16 18:20:59

回答

1

如果你只是想用GET的方法,你不能解決這個問題,你可以將它設置爲What is the maximum length of a URL?爲什麼。

您可以更改.ASHX文件接受POST方法。

<httpHandler> 
    <add path="1.ashx" verb="post" type="" /> 
</httpHandler> 

你的服務器端代碼:

public void ProcessRequest(HttpContext context) 
    { 
     var stream = context.Request.InputStream; 
     using (StreamReader sr = new StreamReader(stream)) 
     { 
      var text = sr.ReadToEnd(); 
     } 
    } 

或替代(根據您的客戶端如何發送數據)

public void ProcessRequest(HttpContext context) 
    { 
     var text= context.Request.Form["text"]; 
    } 

您的客戶端:

<script type="text/javascript"> 
    $.ajax({ 
     type: 'POST', 
     url: "1.ashx", 
     data: { name: "John", time: "2pm" } 
    }); 
</script> 
+0

謝謝zhengchun – 2012-03-16 18:21:26

相關問題