Csharp/C#教程:如何从.cs文件asp.net调用HttpHandler分享


如何从.cs文件asp.net调用HttpHandler

我已经为我的Jquery ajax调用创建了一个http处理程序。 哪个工作正常jquery调用如下所述

$.ajax({ url: "Services/name.ashx", contentType: "text/plain", data: { CustMobile: a, CustName: b, CustEmail: c }, contentType: "application/json; charset=utf-8", success: function (data) { $("#loading").hide(); }, error: function () { $("#loading").hide(); } }); 

现在我的问题是我可以通过后面的代码调用name.ashx处理程序。 我在使用带有C#的asp.net。 我知道可以通过Response.write(“”)编写整个脚本部分来调用它。 Ans还注册页面脚本方法。
但是有什么方法可以通过它向处理程序发送请求并使用c#从处理程序中获取响应。

谢谢。

您可以使用HttpWebRequest (System.Net命名空间)从后面的代码调用任何http资源

样品

 HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/Services/name.ashx?CustMobile=ValueOfA&CustName=ValueOfB&CustEmail=ValueOfC"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

您需要一个绝对路径,但如果您不想对域进行硬编码,您可以从HttpContext获取您的域或服务器URL

更多信息

我找到了另一种方法。 如果你想从同一个项目访问它,这很容易。

在后面的代码中使用它的步骤

  1. 基本上它创建了一个带有类名的类。
  2. 您可以创建该类的对象。
  3. 然后你可以调用ProcessRequest
  4. 它将执行该处理程序。

假设我创建了一个处理程序,如下所示

 public class HandlerName : IHttpHandler { public void ProcessRequest(HttpContext context) { //some code } public bool IsReusable { get { return false; } } } 

所以你可以按如下方式使用它

 HandlerName obj=new HandlerName(); obj.ProcessRequest(HttpContext); 

请注意,您可以获取当前上下文,并且需要在流程请求中传递它。 有关HttpContext的更多信息[ 1 2 ]

编辑1

如果需要,还可以重载ProcessRequest方法。

 public class HandlerName : IHttpHandler { public void ProcessRequest(HttpContext context) { // some code } public void ProcessRequest(HttpContext context, string someString) { // do your coding here } public bool IsReusable { get { return false; } } } 

如果您不想覆盖该方法,可以按如下方式传递值
您可以在HttpContext.Current.Items添加该值

 HttpContext.Current.Items["ModuleInfo"] = "Custom Module Info" 

并在ProcessRequest方法中按照以下方式获取它

上述就是C#学习教程:如何从.cs文件asp.net调用HttpHandler分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 public class HandlerName : IHttpHandler { public void ProcessRequest(HttpContext context) { string contextData = (string)(HttpContext.Current.Items["ModuleInfo"]); } public bool IsReusable { get { return false; } } } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1003843.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐