WCF から HttpContext を見たい!
どうやら ASP.NET コンパチモードってのがあるらしい。
まず、web.config に以下を追加
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
で、続いてサービスクラスの属性に以下を設定。
[AspNetCompatibilityRequirements(RequirementsMode=AspNetCompatibilityRequirementsMode.Required)]
で、こんな感じにコーディング。
var context = HttpContext.Current; //コンパチモードじゃない場合は null がかえる var fileName = context.Request.MapPath("foo.txt"); return File.ReadAllText(fileName);
とれた!!!
まぁ、賛否両論はいろいろあるでしょうけど(WCFやのに・・・、とか HttpContext.Current ってとか)、確かにあまりよろしい感じではないのですが、とりあえず困った時の選択肢にでも。