私はそのようなリモートアクションを呼び出しますWebRequest
:
var site = "http://remoteSite.com/controller/IsolateSite?url=xxx&target=in";
var request = (HttpWebRequest)WebRequest.Create(site);
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusDescription == "OK")
{ /* code */ }
else
{ /* code */ }
リモートアクションでは、メッセージ or null
(if id
is good or not) を返します。
ただし、アクションが返された場合でもresponse.StatusDescription
常に等しいです。"OK"
null
"Cool."
ステータスとしてエラーを強制したり、メッセージ (や など)を取得したりするにはどうすればよい"Error."
ですか?
リモート アクションのサンプル:
public static string IsolateSite(string url, string target)
{
var serverManager = new ServerManager();
var isHttps = url.Contains("https");
var regex = new Regex("^(http|https)://");
var host = regex.Replace(url, "");
var instance = serverManager.Sites.First(site => site.Bindings.Any(binding => binding.Host == host));
var pool = instance.Applications[0].ApplicationPoolName;
if ((pool.Contains("isolation") && target == "out") || (!pool.Contains("isolation") && target == "in"))
{
return "Error."; //or return null but the status code is OK so useless
}
//etc...
return "Cool.";
}