1
我有以下场景来实现:处理http post请求
我有一个ASP.NET网站。点击我网站上的按钮,用户将被重定向到第三方网站。当用户在第三方网站上执行某些操作时,该网站会开始每隔1分钟向我的网站发送一条特殊消息发送http post请求。
现在,问题是我应该处理和处理这些请求,但我不知道该怎么做。请注意,从第三方网站发送的请求不会通过http发布请求打开我的网站。这些请求是某种背景请求,即它们不直接打开页面,因此应该使用其他方法处理它们。
我有Java解决方案。它被称为Servlet。通过servlet的帮助,我可以在Java中完成我想要的功能。但是,我需要ASP.NET中的相同功能?有没有人有这个解决方案?
非常感谢!
P.S.仅供参考,这里是servlet的Java代码:
package payment;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import beans.action.PaymentBean;
public class EPayRequestCatcher extends javax.servlet.http.HttpServlet
implements javax.servlet.Servlet{
static final long serialVersionUID = 1L;
public EPayRequestCatcher() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException{
String encoded = request.getParameter("encoded");
PaymentUtil util = new PaymentUtil();
if (encoded != null) {
String decoded = util.getDecodedB64Data(encoded);
int invStart = decoded.indexOf("=") + 1;
int invEnd = decoded.indexOf(":", invStart);
String invoice = decoded.substring(invStart, invEnd);
System.out.println("" + invoice);
String checksum = request.getParameter("checksum");
PaymentBean bean = new PaymentBean();
String responseStatus = bean.getEpayRequest(encoded, checksum);
if (!responseStatus.equals("")) {
String responseData = "INVOICE=" + invoice + ":STATUS=" + responseStatus + "\n";
System.out.println(responseData);
response.getWriter().append(responseData);
}
}
else {
return;
}
}
}
嗨,谢谢你的回应。 我的问题不在于执行页面。我的问题是处理和处理请求。即第三方发送请求和他们发送的请求的目的不是打开页面。他们以某种方式在后台发送它。现在让我们说我想在接收请求时打开一个页面。我如何获得请求并说'嗨,我刚刚收到外部请求,让我们打开一个页面(或者让我们修改会话中的现有页面或其他任何内容)。 – TheVisitor 2009-10-21 20:09:58
@Visitor,那么其他方如何将这些数据发布给你?他们需要一个URI来发送数据... – 2009-10-21 20:17:39
@Rubens,当我向第三方站点发送POST请求时,我将我的URL作为参数传递,所以他们知道它应该何时开始用他们的POSTs轰炸我 – TheVisitor 2009-10-21 22:09:26