9

「サービスまたはサービスのようなプロセス」という2つの概念の違いがわかりません。

msdnでWinHTTPとWinINetのページには次のように書かれています。

偽装とセッションの分離を必要とするサービスまたはサービスのようなプロセス内で実行する予定がない限り、2つから選択するときは、WinINetを使用する必要があります。

WinInet関数のmsdnノートで言う:

注WinINetはサーバーの実装をサポートしていません。また、サービスから使用しないでください。サーバーの実装またはサービスには、Microsoft Windows HTTPサービス(WinHTTP)を使用します。

「なりすましとセッションの分離を必要とするサービスまたはサービスのようなプロセス」とはどういう意味ですか?
「WinINetはサーバーの実装をサポートしていません」とは、Windows Serverで実行することを指しますか?
アプリケーションをIISで実行する場合、WinInetの代わりにWinHTTPを使用する必要がありますか?

4

2 に答える 2

6

WinINet は人間が直面するアプリケーション用に設計されており、場合によってはユーザー画面にエラー メッセージや接続ポップアップが表示されます。サービスから使用する場合、またはポップアップを閉じることができる人がいない場合、アプリケーションはブロックされます。そのため、ユーザーがコンピュータの前に座って、[接続のセットアップ] ダイアログまたはエラー メッセージを閉じるのを待っていることが確実でない限り、WinINet を使用しないでください。

アプリケーションが IIS で実行されている場合、WinInet の代わりに WinHTTP を使用する必要がありますか?

ない。IIS には独自のHTTP スタックがあり、HTTP.sys ドライバーはカーネル モードで実行されます。

于 2012-08-18T04:59:04.043 に答える
1

アプリケーションが IIS で実行されている場合、WinInet の代わりに WinHTTP を使用する必要がありますか?

アプリケーションが ISAPI-DLL の場合、DLL は IIS のサービス コンテキストで実行されます。したがって、WinHTTP を使用する必要があります。

于 2014-06-23T10:50:10.763 に答える