1

WCF が .NET 3.0 以降で使用できることは承知しています。

しかし、ASP.NET 2.0 web サイト内で動作する WCF サービス Service.svc を作成できるかどうか疑問に思っていましたか?

.NET 2.0 に ASP.NET Web サイトがあるのには理由があります。これは、サードパーティの .NET 2.0 CMS システムの上に構築された、大量のコードを含む古いアプリです。

これで、Web サイトに WCF サービスを問題なく追加できました。次のファイルが作成されました。 MyWebsite/App_Code/Service1.cs MyWebsite/App_Code/IService1.cs MyWebsite/Service1.svc

すべてが正常にコンパイルされ、必要なすべてのエンドポイントを追加でき、ノードが正常に作成されました。

しかし、サービスに移動すると:

http://localhost/MyWebsite/Service1.svc

次のエラー メッセージが表示されます。

'/MyWebsite' アプリケーションでサーバー エラーが発生しました。サービス 'Service1' にはアプリケーション (非インフラストラクチャ) エンドポイントがありません。これは、アプリケーションの構成ファイルが見つからなかったか、サービス名に一致するサービス要素が構成ファイルに見つからなかったか、またはサービス要素にエンドポイントが定義されていなかったためである可能性があります。

すべてが定義されているため、エラー メッセージはわかりにくいです。Web サイトが IIS で .NET 2.0 アプリとして実行されているためでしょうか? それとも、.NET 2.0 アプリとして実行される Web サイト内で WCF サービスを使用することは可能ですか?

明確化 Web サイトの IIS 仮想ディレクトリは、ASP.NET 2.0 バージョンで構成されています。しかし、.NET 4.0 がインストールされています。

4

2 に答える 2

0

web.config でサービスを構成しましたか? .NET 3.0 または 3.5 をインストールしていないため、適切なマシン/グローバル Web 構成ファイルが見つからない可能性もあります。その場合、そのマシンに .NET 3.5 をインストールしないのはなぜですか? 2.0と互換性があるはずです。

AppPool .NET のバージョン (.NET 20、3.0、および 3.5 では 2.0 であるため、基本クラス ライブラリのバージョンを指します) と、使用されている .NET のフレームワーク バージョンを混同しないでください。

もう 1 つの解決策は、web.config で WCF を構成するだけです。そこで何か変えましたか?

于 2013-05-30T20:51:38.627 に答える