asp.Netweb apiはローカル環境かどうかを判断する
2839 ワード
< ![CDATA[
ローカルでコードを書くこともありますが、判断がたくさん入っています.あるいはパラメータが直接伝わるとか
ローカル環境かどうか、ローカル環境でない場合は正常にアクセスする必要があります.ローカル環境であれば、直接データ等を返す
以前は直接判断127.0.0.1またはその他であった.
now:
HttpRequest.IsLocal で実現可能
localhostの先頭またはiisの127.0.0.3 ipアクセスにかかわらず.ドメイン名asdを直接hostバインドします.comアクセスは、正常に判断できます
まず拡張方法を追加します
使用
とても便利です.
]]>
ローカルでコードを書くこともありますが、判断がたくさん入っています.あるいはパラメータが直接伝わるとか
ローカル環境かどうか、ローカル環境でない場合は正常にアクセスする必要があります.ローカル環境であれば、直接データ等を返す
以前は直接判断127.0.0.1またはその他であった.
now:
HttpRequest.IsLocal で実現可能
localhostの先頭またはiisの127.0.0.3 ipアクセスにかかわらず.ドメイン名asdを直接hostバインドします.comアクセスは、正常に判断できます
まず拡張方法を追加します
public static class HttpRequestMessageExtensions
{
public static bool IsLocal(this HttpRequestMessage request)
{
var localFlag = request.Properties["MS_IsLocal"] as Lazy<bool>;
return localFlag != null && localFlag.Value;
}
}
使用
// GET api/values
public IEnumerable<string> Get()
{
if (!Request.IsLocal())
{
return new string[] { "value1", "value2" };
}
else
{
return new string[] { "value1" };
}
}
とても便利です.
]]>