asp.net 建 ashx的时候为啥没有 ashx.cs 后台文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 建 ashx的时候为啥没有 ashx.cs 后台文件相关的知识,希望对你有一定的参考价值。
以前的项目有 然后 自己新建了一个项目 就没有 怎么回事
这是 ashx页面的代码
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler
public void ProcessRequest (HttpContext context)
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
public bool IsReusable
get
return false;
上面多了一行<%@ WebHandler Language="C#" Class="Handler" %>
不知道是不是这个原因 造成的ajax Xmlhttp.readyState 只能走到1 就没了
<%@ WebHandler Language="C#" Class="_1111" %> 文件头必须的 参考技术B 一般处理文件时处理HTTP请求和会发服务器响应的,本身就是代码的逻辑部分,怎么会分前台和后台的呢?cx文件只是aspx页面才会有的。 参考技术C ashx是一般处理程序,这是一个干净的后台处理程序,可以理解为删除了前台html标签的aspx,一般和js构成ajax配套使用,进行调试,方可以实现对应的功能。 参考技术D
理论上Handler.ashx的代码是
<%@ WebHandler Language="C#" Class="Handler" %>Handler.ashx.cs的代码是
using System;using System.Web;
public class Handler : IHttpHandler
public void ProcessRequest (HttpContext context)
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
public bool IsReusable
get
return false;
你这些代码齐全了,不过文件可能不太对,你用的vs2008?我不知道是不是ide的问题,我们都用vs2012了。要不删了重新新建一下试试呢?或者自己手动新建文件把代码拷进去。
第5个回答 2018-08-10 aspx,ashx 其实都cs的一部份,你可以把你现在ashx删了,直接创建一个cs文件继承IHttpHandler。它类似于拦截器的功能支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)
【中文标题】支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)【英文标题】:ASP.NET Generic HTTP Handler (.ashx) supporting JSONP 【发布时间】:2011-04-11 19:18:19 【问题描述】:谁能展示一个返回 JSON 并支持跨域调用的 HTTP 处理程序的示例。我正在使用 jQuery 的 getJSON() 向我的 Web 服务器上的 .ashx 文件发送请求。
我知道我需要添加 ?callback=?到我的 getJSON() url 中的 url,但我不确定在我的 ashx 文件中的服务器上需要做什么?
【问题讨论】:
ASP.NET - Passing JSON from jQuery to ASHX的可能重复 @Chris Lively - 不要这么认为。 【参考方案1】:想通了。我将此函数添加到我的处理程序并调用它:
void WriteCallback(HttpContext context, string json)
context.Response.Write(string.Format("0(1);", context.Request["callback"], json));
然后在浏览器中:
$(function ()
$.getJSON('MyHandler.ashx?callback=?', Foo: "Bar" , function (data)
if (data.SomeCondition)
$('#someElement').show();
);
);
【讨论】:
+1 对于第一个函数 - 今天在执行此操作时为我节省了一些时间。 谢谢!我整天都在用头撞墙,没有意识到在进行 JSONP 调用时必须用回调函数名称包装 JSON 输出。【参考方案2】:“跨域”可能成为问题的唯一方法是,如果您使用某种状态机制(即:cookie)作为调用的一部分。你不应该这样做。
否则,请参阅此链接:ASP.NET - Passing JSON from jQuery to ASHX 了解信息。有一些很好的代码示例可以告诉你该怎么做。
【讨论】:
抱歉,这根本没有帮助。以上是关于asp.net 建 ashx的时候为啥没有 ashx.cs 后台文件的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传)
asp.net 一般处理程序(ashx)如何多次接收上传文件(多文件批量上传)