0

特定の ID を必要とする Web サービスを呼び出す前に、次の形式の NetworkCredential コンストラクターを使用して明示的な資格情報を設定しています。

myWebService.Credentials = new System.Net.NetworkCredential(userName, password, domain);

これは、さまざまなサーバーがドメインの一部である IIS 6.0 開発および IIS 7.5 ステージング環境で正常に機能しています。

現在、このコードは、サーバーがドメインの一部ではなく、ワークグループのメンバーであり、適切な認証が機能していない運用環境に展開されています。実行時に、この効果的な置換は失敗します:

myWebService.Credentials = new System.Net.NetworkCredential("localuserName", "XyZ!XyZ", "myServerName");

私はこれらのさまざまなワークグループ マシンに完全にアクセスすることはできず、そこで構成を行ったシステム管理者は、ローカル アカウントとアプリケーション プールを正しくセットアップしたようです。

要約すると、ドメイン名の代わりにサーバーの名前を使用するだけで、ワークグループで上記の手法を引き続き使用できますか? どちらの場合でもコードが機能する場合は、問題に関する詳細情報を追跡する必要がある他の構成上の問題があるに違いありません。

4

1 に答える 1

0
i'm using iis 7 and there is no problem with following:


1. find the ip address of machine which is running IIS and
find webservice bindings the bindings in IIS is like the following   http://192.368.228.1:8051/

2. set domain like this : http://servername:port/ or http://machine-ip:port/
also you can set webservice url like the following

        myWebService.Url ="http://192.368.228.1:8051/service1.asmx";
        myWebService.Credentials = new System.Net.NetworkCredential("user", "pass");

no domain is used in this way.

このテーマの詳細については、このセクションの次のリンクを参照してください: Web サービスへの認証のための資格情報の受け渡し

http://msdn.microsoft.com/en-us/library/ff649362.aspx#secnetch10_usingclientcertificates

これが役立つことを願っています。

于 2012-08-18T10:36:12.120 に答える