5

今日、IIS7.5を実行しているWindows2008 R2サーバーにLightswitchアプリケーションを展開しようとしているときに、フラストレーションを最大限に発揮しました。アプリケーションに移動すると、次の実行エラーが発生します。

クエリ「GetAuthenticationInfo」のロード操作が失敗しました。リモートサーバーがエラーを返しました:NotFound。

.NETトレースとサーバーイベントログの両方に、次のように記載されています。

送信者情報:System.ServiceModel.Activation.HostedHttpRequestAsyncResult / 63835064例外:System.Web.HttpException(0x80004005):サービス'/Web/Microsoft-LightSwitch-Security-ServerGenerated-Implementation-AuthenticationService.svc'は存在しません

構成の詳細は次のとおりです。

  • アクセス制御オプションで「認証を有効にしない」を選択しました。
  • [アプリケーションサーバーの構成]公開オプションで、[前提条件]チェックボックスがオフになっているIISサーバーを選択しています。
  • [出力の公開]で、ローカルディスクにパッケージを作成しています。後で、そのパッケージをサーバーにコピーし、.deploy.cmdを手動で実行します。これは正常に機能しているようです。
  • 「その他の接続」の下のデータベース接続は正しいです。これは私のボックスから機能するSQLログインであり、このサーバー上の他のサイトは問題なく同じDBサーバーに接続します。

サーバー側:

  • このサイトは、ApplicationPoolIdentityを使用して、.NET4.0統合モードの独自のアプリプールで実行されています。
  • 匿名認証のみが有効になります。

私が試したこと:

  • WebPlatformInstallerから2011年と2012年のすべてのLightswitchのものをインストールしました。
  • RiaServices.msiをインストールしました。
  • .NET4.5を修復しました。
  • aspnet_regiis-iを実行しました

これらのどれもまったく効果がありませんでした。上記の太字のエラーについて私が持っている唯一のヒントは、.svcが実行時に生成され、WCF側で他の問題が発生した場合に404​​エラーをスローすることです。(そのため、RiaServices.msiのインストールを試しました。)

自分のローカルIISExpressに「今すぐサーバーにリモートで公開」することができ、そこでのアプリは正常に動作します。ただし、これらのファイルをリモートサーバーにコピーすると、以前と同じ結果が得られます。

これをさらにトラブルシューティングする方法に関する提案はありますか?

4

3 に答える 3

4

問題は、LightswitchアプリケーションがMicrosoft.Data.Services 5.0.2.0で展開されていたが、Microsoft.LightSwitch.Server11.0.0.0はMicrosoft.Data.Services5.0.0.0を参照する必要があることでした。5.0.0.0をWebサーバーにデプロイすると、アプリケーションは期待どおりに実行されました。

この問題は、アプリケーションとともに展開される静的サービスである/Microsoft.LightSwitch.SecurityData.svcに直接移動し、YSODの指示に従うことで見つかりました。

于 2012-11-13T22:30:15.260 に答える
4

Visual Studio 2013をインストールした後、または開発ボックスに5.0.0.0より新しいバージョンの.NETをインストールした後にこの問題が発生する場合は、新しいバージョンのODataアセンブリとLightSwitchサーバーがインストールされているために問題が発生しています。プロジェクトは現在これらを使用しています(互換性はありません)。Server.csproj(またはvbproj)を更新して、以前のバージョンのODataアセンブリを参照することで、この問題に対処できます。

Server\Server.CSProjの次の5つのアセンブリエントリにHintPathノードを追加します

<Reference Include="Microsoft.Data.Edm">
  <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Edm.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Data.OData">
  <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.OData.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Data.Services">
  <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Data.Services.Client">
  <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\Microsoft.Data.Services.Client.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="System.Spatial">
  <HintPath>C:\Program Files (x86)\Microsoft WCF Data Services\5.0\bin\.NETFramework\System.Spatial.dll</HintPath>
  <Private>True</Private>
</Reference> 

この問題は、V3プロジェクトシステム(VS 2012 Update 2を使用)またはV4プロジェクト(VS 2013)にアップグレードされたプロジェクトでは発生しません。これは、これらのアセンブリの参照方法に対処したためです。したがって、別の解決策は、プロジェクトを右クリックして[プロジェクトのアップグレード]を選択することです。

デビッドキダー| シニアSDET| Microsoft | 電気のスイッチ

LightSwitchフォーラム投稿この質問への回答

于 2013-11-13T20:33:00.130 に答える
2

私も同じ問題を抱えていました。IISでアプリケーションに移動し、[認証]をダブルクリックします。[Windows認証]を選択して無効にします。

于 2012-11-10T06:00:08.517 に答える