1

リモート サービスを呼び出す SOAP クライアント コードを ASP.NET サイトに実装しました。実装は基本的に Visual Studio の「Web 参照の追加」ウィザードを使用し、適切な「using remote.service.namespace」をコードに追加してサービスを呼び出すことで行いました。

コードはローカルで (Visual Studio から) 完璧に動作しますが、運用 Web サーバーではアセンブリ参照エラーが発生して失敗します。

CS0246: 型または名前空間の名前 'remote.service' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

私はすべてを適切に展開していないという卑劣な疑いを持っています。多分誰かが私がそこに欠けているものを指摘できますか?

ありがとう!

追加情報:

プロジェクトはウェブサイトです。

ASP.NET バージョン 2.0 がインストールされ、開発ボックスと運用サーバーの両方でターゲットとして使用されます。

WSDL.exe によって生成されたプロキシ ファイルは、Web サイトのルート フォルダー (ページが存在するフォルダーと同じフォルダー) にデプロイされます。プロキシ クラスの生成にはグローバル名前空間 (デフォルト) が使用されました。

4

6 に答える 6

2

これがWebSiteプロジェクトの場合、プロキシファイルはApp_Codeフォルダー内に存在する必要があります

于 2009-07-17T19:17:51.993 に答える
1

プロキシdllは、「ページが存在するWebサイトのルートフォルダ」に配置されているとおっしゃいました。

dllは「bin」フォルダ内に配置する必要があります。フォルダがない場合は作成します。

于 2009-07-17T14:38:20.030 に答える
1

.NET の Web サービス クライアント スタックは、(wsdl.exe/svcutil.exe によって生成されたクラスの注釈から) プロキシ クライアントのランタイム生成を行います。この生成されたファイルは通常、サーバーの一時ディレクトリの 1 つに配置されます (メイン ウィンドウ ツリーのどこかに 1 つ存在します)。問題は、ASP.NET ユーザー アカウントがこの特定の一時ディレクトリに書き込む権限を持っていないことですが、ファイルの書き込み時に気付かないため、生成されたファイルを読み込もうとするとエラーが発生します。ファイルバック。サーバーへの正確なインストール順序によっては、このような状況になる可能性があります。適切なディレクトリを見つけたら、そのディレクトリの NTFS perms を修正するだけで問題を解決できます。

于 2009-07-21T21:07:38.870 に答える
0

App_WebReferences フォルダーとそのすべてのコンテンツをサーバーにコピーしましたか?

于 2009-07-14T05:13:54.887 に答える
0

ASP.NET サイトの他の部分は動作しますか?

あなたのサイトは 3.5 をターゲットにしていますか? 3.5 が本番サーバーにインストールされていない可能性がありますか?

于 2009-07-17T02:52:03.593 に答える
0

これは Web サイトですか、それとも Web アプリケーション プロジェクトですか? Web サイトだと思います。

于 2009-07-17T02:55:53.447 に答える