コントローラーで使用されるサーバー変数をモックしました。
request.SetupGet(x => x.ServerVariables)
.Returns(new System.Collections.Specialized.NameValueCollection
{
{"SERVER_NAME","localhost"},
{"SCRIPT_NAME","localhost"},
{"SERVER_PORT","80"},
{"HTTPS","www.melaos.com"},
{"REMOTE_ADDR","127.0.0.1"},
{"REMOTE_HOST","127.0.0.1"}
});
Controller では Server 変数の値を取得できますが、Model クラスでは取得できません。なぜそうなのですか?
Controller と Model で値を取得する際の唯一の違いは、 Controller では書き込みHttpContext.Request.ServerVariables
、 Model では書き込みHttpContext.Current.Request.ServerVariables
ます。
彼らは違うのですか?モデルでもこれらの値を取得するにはどうすればよいですか。