3

Visual Studio 2010 Professional で実行されている Visual Studio LightSwitch 2011 (v1) を使用してアプリケーションを作成しました。これはデスクトップ アプリケーションであり、SQL Server 認証を使用してデータベースに接続しています。(すべてのクライアントで同じユーザー名/パスワード)。

アプリケーションはほとんどのユーザーで問題なく動作しますが、4 ~ 5 人のユーザーの場合、赤い X が表示され、データを読み込めないと表示されます。これはこれまでで最もあいまいなエラー メッセージであり、何が原因なのかわかりません。他のライトスイッチ以外のアプリケーションが正常に動作しているため、ユーザーはすべて自分の PC からデータベースにアクセスできます。これにより、ネットワーク/接続の問題が除外されます。

これを何日も検索して理解しようとした後、赤い X エラーの原因を特定する簡単な方法が見つかりませんでした。また、ユーザーは別の国にいるため、私は彼らのマシンに物理的にアクセスできません。私が続けなければならない唯一のことは、これらのユーザーがすべて Windows 7 を実行している (ファイアウォールがインストールされていない) ことです。そのうちの 1 人は最終的に Windows 7 のクリーン インストールを実行し、アプリケーションのインストール時に赤い X (データを読み込めません) エラーが発生しました。

ライトスイッチがデータベースからデータを読み込めない理由を簡単に突き止める方法はありますか? (データベース = SQL Server 2005)

助けてくれてありがとう。

4

4 に答える 4

4

Eric Erhardt の記事をご覧ください。ここに引用があります:

アプリケーションがデータの読み込みに失敗すると、画面に赤い X が表示され、ツール ヒントに「データを読み込めません。ネットワーク接続を確認して、もう一度ロードしてください。」</p>

LightSwitch のあまり知られていない秘密は、ASP.NET トレースと統合された診断サブシステムがサーバーにあることです。LightSwitch の Diagnostics サブシステムは、クエリの発行時にスローされた例外を通知するだけではなく、はるかに強力です。これを使用して、サーバーに要求されたアクション、および各アクションに応答してサーバーが実行した手順を追跡できます。そのため、動作しているように見えても、アプリケーションが実際に行っていたことについてより多くの情報を得ることができます。

したがって、診断を有効にしてから、次の場所でトレースを開くことができますyour-lightswitch-application-address/trace.axd。次に、エラーの詳細を確認できます (ブログ記事から取得したスクリーンショット)。

トレースから示されるエラー

別の代替方法は、 Fiddler を使用することです。こちらも同記事で解説しています。

于 2013-05-14T01:28:26.293 に答える
2

私を正しい方向に向けてくれたBryan Hongに感謝します。他の人が同じ状況に陥った場合に参照できるように、私の調査結果を 1 か所にまとめたいだけです。

以下は、 Lightswitch Web アプリケーション向けの Eric Erhardt の記事に基づいています。以下にリストする手順は、代わりにLightswitch デスクトップ アプリケーションに適用する必要があります。

ライトスイッチ アプリケーションでトレースを有効にします。これを行うには、release/publish フォルダーにある Web.config ファイルを変更する必要がありました (プロジェクトのソース フォルダーにあるファイルではありません。LightSwitch はその web.config をオーバーライドします。これはトリッキーな部分でした)。これを変更するには、プレーン テキスト エディタを使用します。次のキーを変更しますconfiguration>>appSettings

    <!-- A value of true will enable diagnostic logging on the server -->
    <add key="Microsoft.LightSwitch.Trace.Enabled" value="true" />
    <!-- A value of true only lets local access to Trace.axd -->
    <add key="Microsoft.LightSwitch.Trace.LocalOnly" value="false" />
    <!-- The valid values for the trace level are: None, Error, Warning, Information, Verbose -->
    <add key="Microsoft.LightSwitch.Trace.Level" value="Verbose" />

の下でconfiguration>>system.web、トレースが有効になっていることを確認します。

    <!-- LightSwitch trace.axd handler -->
    <trace enabled="true" localOnly="false" requestLimit="40" writeToDiagnosticsTrace="false" traceMode="SortByTime" mostRecent="true" />

最後に行う必要がある変更は、customErrors モードを Off に設定することです。configuration>>system.web

次のキーを追加します (または、既に存在する場合は変更します)。

    <customErrors mode="Off" />

ここで、エラーを表示するには、Fiddler をインストールしてからFiddlerを実行し、silverlight アプリケーションを実行します。左側のセッションをクリックしてから、右側の Inspectors と Web Inspectors をクリックします。これにより、エラー メッセージの詳細が表示されます。

詳細については、上記の Bryan の回答、またはEric Erhardt の記事を参照してください。

于 2013-05-16T14:56:15.343 に答える
0

移植性をサポートしていない参照をコモンに追加しようとしたときに、それが起こりました (追加すると警告が表示されましたが、最初は聞き取れませんでした)。それを行った場合は、参照のチェックを外してください。問題ないはずです

于 2013-05-31T18:21:14.040 に答える