0

こんにちは、いくつかのソース コードをダウンロードしましたが、箱から出してすぐに大きな問題が発生しました。私は開発者から答えを得ることができず、他の誰かがこの質問をしているのを見たことがありませんが、私は見て、見て、見て、何が問題なのかわかりません.

このエラーが発生し続けます:

「/」アプリケーションでサーバー エラーが発生しました。
オブジェクト参照がオブジェクト インスタンスに設定されていません。

説明:

現在の Web 要求の実行中に未処理の例外が発生しました。
エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細:

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

ソース エラー:

Line 157:            // Expected ID is standard Raven ID: "songs/4321"
Line 158:            const string expectedIdPrefix = "songs/";
Line 159:            if (song.Id.StartsWith(expectedIdPrefix, StringComparison.OrdinalIgnoreCase))
Line 160:            {
Line 161:                throw new ArgumentException("ID wasn't in the expected format.");

Visual Studio は、このコードの一部を強調しています。(** ** で示されます)

using (var session = Get.A<IDocumentStore>().OpenSession())
        {
            var songFiles = Directory
                .EnumerateFiles(Server.MapPath("~/content/sample/music"), "*.mp3")
                .Select(f => new
                {
                    Song = new Song(Path.GetFileName(f)),
                    FilePath = f
                })
                .ToArray();

                songFiles.ForEach(async f => **await f.Song.UploadMp3ToCdn(f.FilePath));**

            if (!session.Query<Song>().Any())
            {
                songFiles.ForEach(s => session.Store(s));

                session.SaveChanges();
            }
        }
4

2 に答える 2

1

songFilesデバッガ内で調べてみましたか? f.Songエラーは、またはf.FilePathが null/初期化されていないことを示唆しているようです。

于 2013-06-21T20:15:13.243 に答える
-1

問題が見つかりました。web.config ファイルで指定された CDN に音楽をアップロードしようとしており、曲の ID を探しています。ID は最初に Raven データベースによって生成される必要があり、事前に ID を取得しようとしています。

問題が修正されました。

于 2013-06-26T04:11:59.253 に答える