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