Ria サービスを使用する Silverlight 5 プロジェクトの 2 つの異なるバージョンがあります。どちらもローカルで動作します。古いバージョン (A) は、ISS7 に展開すると機能します。新しいバージョン (B) にはありません。バージョン B では、次のエラーで失敗するユーザー/パスワード認証があります。
Load operation failed for query 'Login'. the remote server returned an error: NotFound.
先週のさまざまな SO および MSDN の投稿を参照して、多くのトラブルシューティング手法を試しました。ここで提案されているエラー ログをweb.config に追加すると、次のログが記録されます。
The service '/ClientBin/MyApp-Web-Services-AuthenticationService.svc' does not exist.
それを調査すると、探している名前/パスでダミーの .svc ファイルを作成することを提案するこのフォーラムの投稿が見つかりました。結果:
The service '/ClientBin/DBCRM-Web-Services-AuthenticationService.svc' cannot be activated due to an exception during compilation. The exception message is: The ending bracket '>' for the 'ServiceHost' directive is missing in the '.svc' file..
上記のエラーの詳細は、私が提供した空の .svc ファイルであるため、あまり重要ではありません。プロジェクトが実際にそれに依存しているという事実を確認するのに役立っただけです
これがキッカーです...作業バージョンにもこのファイルは含まれていませんが、例外はスローされません。
サービスの必要性に関する言及を検索すると、驚くべきことに両方のソリューションで結果が得られました。両方のMyApp.Web.g.cs
ファイルは同一で (CSDiff を実行)、両方に次の行が含まれています。
public AuthenticationContext() : this(new WebDomainClient<IAuthenticationServiceContract>(new Uri("DBCRM-Web-Services-AuthenticationService.svc", UriKind.Relative))) { }
どちらも同じパッケージ/デプロイ設定を持っています。ファイル システムにデプロイしてから、ファイルをホスト サーバーの IIS にコピーしています。
質問:
この .svc ファイルを必須にする設定はどこにありますか? バージョン A では明らかに必要ありませんが、バージョン B では必要です。ここでも、file
MyApp.Web.g.cs
が唯一の参照であり、両方のバージョンに存在します。MyApp.Web.g.cs
生成されたファイルです。Visual Studio 2010 のどのサービスがこのファイルを作成しますか? また、問題のファイルへの呼び出しを含めないように変更でき.svc
ますか?
2 つのソリューションをマージして、どの時点で .svc ファイルが必要になるかを確認します。それまでの間、どんなアイデアでも大歓迎です!