Webテクノロジー ボードリーダー:小川 貢
毎月第2、第4木曜日はボードリーダーからのレポートを掲載いたします。
2003年4月10日
『どっとねっとと雑多な日々3』
新年度ははじまり、新社会人が初々しく映る今日この頃、皆さんいかがお過ご しでしょうか。
皆さんの中でも、新人教育を担当される方もおられるかも知れませんので、 .NET の学生向けのコンテンツを紹介します。
http://www.microsoft.com/japan/msdn/academic/default.asp
このコンテンツには「レベル別学習コラム」なるものもありますので、初心者 が入門するにはよいレベルだと思いますので、ぜひ参考にしてください。
さて、このところ .NET Framework でごりごりとサンプルを作る日々に勤しん でいます。
そんな中で、また .NET Framework の機能がおかしいものを発見してしまいま した。
具体的には HttpWebRequest/WebRequest などで外部データ(コンテンツや XML データ)を取得する際に、FireWall の内側にいる場合は WebProxy を指 定しないと外部には接続できませんが、.NET Framework のドキュメントを読 み解くと IE の設定を取得するときには WebProxy.GetDefaultProxy という静 的なメソッドを呼び出せば良いとあります。
また、設定ファイル(.config) で
<system.net>
<defaultProxy>
<proxy usesystemdefault="true" />
</defaultProxy>
</system.net>
とすると WebProxy が取得できるとあります。
しかし、環境によっては WebProxy が取得できないケースがあります。
ActiveDirectory の「グループ ポリシー」→「コンピュータの構成」→「管 理用テンプレート」→「Windows コンポーネント」→「Internet Explorer」 →「コンピュータ別にプロキシを設定する(ユーザ別ではなく)」が有効にす ると IE の PROXY の設定が
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Internet
Settings
に移動してしまうので、WebProxy.GetDefaultProxy などとしてもプロキシの 設定が取得できません。
ですので、私の場合はまず WebProxy.GetDefaultProxy() で WebProxy を取得 して、WebProxy.Address が null だった場合、
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Currentversion\Internet
Settings
の ProxyEnable の値が 1 だった場合は ProxyServer の値を拾い、
ProxyEnable の値が 0 か取得できない場合は
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Internet
Settings
の ProxyEnable の値が 1 だった場合は ProxyServer の値を拾い、
ProxyEnable の値が 0 か取得できない場合は WebProxy を設定せず直接接続 にいくように Class を書いています。
具体的なソースを提示したいのですが、かなり込み入ったソースになっていま すので、もしソースがほしいという方がいらっしゃいましたら、私宛にメール していただければ、抜粋して送ります。
ボードリーダーレポート トップページへ
PASSJメールニュース
著作権ついて
プライバシーポリシー
リンクポリシー
お問い合わせ
(C) 2005 Professional Association for SQL Server Japan. All rights reserved.