質問

現在のパッチがすべてインストールされている Windows XP SP3 上で Visual Studio 2010 を使用して OData/WCF サービスを作成しました。

[ブラウザで表示] をクリックするとサービスが開き、EF モデルの 3 つのテーブルが表示されます。ただし、クエリ文字列の末尾にテーブル名 (この場合は「Commands」) を追加すると、テーブルのデータが表示されず、HTTP 500 エラーが発生します。(このエラー (HTTP 500 内部サーバー エラー) は、アクセスしている Web サイトにサーバーの問題があり、Web ページが表示されなかったことを意味します。).

2 つのサイトの例に従っただけでなく、ブログ投稿者が送ってくれた (彼のマシンで動作する) サンプル アプリケーションも実行してみましたが、まだうまくいきません。

ブログ投稿は次のとおりです Entity Framework モデルからの OData の公開

なぜこれが起こっているのか、そしてそれを解決する方法を知っている人はいますか?

「ブラウザで表示」の出力は次のとおりです。

<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
- <service xml:base="http://localhost:1883/VistaDBCommandService.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
- <workspace>
  <atom:title>Default</atom:title> 
- <collection href="Commands">
  <atom:title>Commands</atom:title> 
  </collection>
- <collection href="Databases">
  <atom:title>Databases</atom:title> 
  </collection>
- <collection href="Statuses">
  <atom:title>Statuses</atom:title> 
  </collection>
  </workspace>
  </service>

アップデート:

これを機能させるために、私は次のようにしました。

  1. IISを削除して再インストールしました
  2. %WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis –i –enable コマンドを実行しました。
  3. %WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe -r コマンドを実行しました。
  4. 新しいソリューションを作成し、私が何も台無しにしなかったことを保証するために、非常に慎重に指示に従いました。

これをすべて行っても、依然として同じ HTTP 500 エラーが発生し、イベント ビューアにはいかなる種類のエントリも表示されません。

他に何かアイデアはありますか?

役に立ちましたか?

解決

私は私の問題は、データベースを開くの問題だったことを考え出しました。私はそれを考え出した方法は、InitializeService方法でservicename.svc.csファイルに以下を追加しました:

config.UseVerboseErrors=true;

助けようとしたすべての人に感謝します。

エリック

他のヒント

config.UseVerboseErrors=true;は、問題を見つけるに私を助けました。問題は、私は、データベース接続のためのWindows認証を使用していたでした。 SQL Server認証に変更した後すべてが正常に働いています。

起こった実際のエラーを確認するためにこれらのデバッグのヒントを試してください: ます。http:// blogs.msdn.com/b/phaniraj/archive/2008/06/18/debugging-ado-net-data-services.aspxする

500は常にサービスで未処理の例外があったことを意味します。そのエラーが何であったか確認するために、Windowsのイベントログに行くのを見ます。

VS2013と同様の出力を受信します:

HTTP 500内部サーバーエラーのスクリーンショット

Entity Frameworkのをアップグレードすることで解決しました。

を参照してください答え https://stackoverflow.com/a/21028123/2116188するます。

あなたはまた、IISでWebアプリケーションの要求トレースを失敗したアクティブにすることができます。

500エラーが

を発生したときに

あなたはIISからXMLファイルにdetailledトレース実行を取得します

IISのトレース設定失敗した要求にどのように説明し、ここで良い記事があります

失敗した要求を使用してトレース書き換えルールをトレースする

HTH セドリック

あなたは、SQL Server Compactのデータファイル(のようNorthWind.sdf)を使用している場合は、

あなたはIUSRSグループに書き込み、ファイルのアクセス権を与える必要があります。

例:あなたはDataDirectoryのすなわちYourWeb / App_DataにでNorthWind.sdfを使用している場合、あなたは、IISコンソールまたはWindowsエクスプローラから_IUSRSグループにある[書き込み権限を与える必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top