生産上のASP.NETでWebサービスを消費する問題(IIS)サーバー
-
13-09-2019 - |
質問
私たちは、リモートサービスを呼び出し、当社のASP.NETサイト上でいくつかのSOAPクライアントのコードを実装しました。実装は、基本的には、コードに「remote.service.namespaceを使用して」とサービスを呼び出して、適切な追加、Visual Studioの「Web参照の追加」ウィザードを使用して行われました。
コードは(のVisual Studioから)ローカルに完璧に動作しますが、不足しているアセンブリ参照エラーで生産Webサーバー上で失敗します:
CS0246:型または名前空間名「remote.service」が見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)
私はきちんとすべてを展開しておりませんという卑劣な疑いを持っている、多分いくつかのいずれかが、私はそこに行方不明だということが何であるかを指摘することができますか?
ありがとうございます。
の追加情報:の
プロジェクトのウェブサイトです。
ASP.NETバージョン2.0がインストールされ、両方のDEVボックスと生産サーバ上のターゲットとして使用する。
WSDL.exeによって生成されたプロキシファイルは、Webサイトのルートフォルダ、ページが存在する同じフォルダに展開されています。グローバル名前空間(デフォルト)は、プロキシクラスの生成に使用された。
解決
このウェブサイトのプロジェクト、プロキシファイルは、App_Codeフォルダー内に存在する必要がある場合には、
他のヒント
あなたは、プロキシDLLが「ページが存在するWebサイトのルートフォルダ」の上に置かれ述べています。
あなたは「ビン」フォルダの中のdllを配置する必要があります。フォルダが存在しない場合は作成します。
.NETでのWebサービスのクライアント・スタックは、(wsdl.exe / svcutil.exeによって生成されたクラス内のアノテーションから)プロキシクライアントの実行時の生成を行います。この生成されたファイルは通常、サーバーの一時ディレクトリ(どこかのメインウィンドウのツリーの下に1があります)のいずれかで終わります。問題は、ASP.NETのユーザーアカウントは、この特定の一時ディレクトリへの書き込み権限を持っていないということですが、それは、ファイルを書き込み時に気づいていないので、あなたはそれが生成されたロードしようと、エラーになってしまいますバックファイル。あなたは、サーバー上の正確なインストールの順序に依存する状況で終わることができます。あなたが正しいディレクトリを見つけたら、あなたは、単に問題を解決するために、ディレクトリ上のNTFSパーマを修正することができます。
は、サーバーにApp_WebReferencesフォルダとそのすべての内容をコピーしましたか?
は、あなたのASP.NETサイトの仕事の他の部分をしていますか?
あなたのサイトのターゲット3.5とおそらく3.5が本番サーバにインストールされていないしていますか?
これは、Webサイト、またはWebアプリケーションプロジェクトですか?私はそれがウェブサイトの賭けます。