私は支払いプロバイダ(SagePay)をテストしています。プロセスの一部として、自分のサイトに自分のサーバーのPOSTが送信され、応答が必要です。私はこれをMVCを使用して動作させることはできません。サードパーティのサイトからASP.NET MVCアプリケーションにポストする
私は従来のASPテストREPONSEページを設定し、私のMVCアプリにこれを追加しました:
<%
Response.Buffer = True
response.Clear()
response.contenttype="text/plain"
response.write "Status=OK" & vbCRLF
response.write "RedirectURL=http://www.redirectsomewhere.co.uk" & vbCRLF
response.End()
%>
この作品の罰金。
しかし、私はMVCと同じことをしようとすると、それは動作しません:
コントローラー:
[HttpPost]
public ActionResult TestCallback()
{
return View();
}
ビュー:
@{
Response.Buffer = true;
Response.Clear();
Response.ContentType = "text/plain";
Response.Write("Status=OK" + System.Environment.NewLine);
Response.Write("RedirectURL=http://www.redirectsomewhere.co.uk" + System.Environment.NewLine);
Response.End();
}
エラーメッセージは一般的なもので実際のヘルプはありませんが、エラーをページのレンダリング先まで絞り込んでいます。
両方のページをきれいに見ることができます(これはMVCコントローラメソッドからHttpPost属性を削除する必要があります)、両方のページに同じデータが表示されます。
これは、支払プロバイダがへの投稿されていることをMVCのURLです:
http://myipaddress/CA_UAT/Token/TestCallback
これは正常に動作し、従来のASPのURLです:
http://myipaddress/CA_UAT/Token/TestCallback.asp
私はのための「トークン」ディレクトリを作成しましたaspページを作成し、テスト目的でURLが一致するようにします。
私は間違っていますか?
Response HTTP/1.1 200 OK
Source: Response
HttpHeader:Server
Request:User-Agent Cookie
Response:Response Date Set-Cookie
どちらのページが同じ情報を表示:
UPDATE
ハリさんのコメントへの応答では、私は私にこの情報を提供する「ヘッダースパイ」と呼ばれるFirefoxのプラグインをインストールしました。
コントローラー名とは何ですか? – Dante
@Dante - コントローラ名はトークンです。 – markpsmith
文字通り、トークン、つまりTokenControllerを意味しますか? – Dante