ビジネス オブジェクト、API、Web アプリの 3 つのプロジェクトを含む vs2010 のソリューションがあります。
ビジネス オブジェクトは、生の ADO を使用して SQLServer から取り込まれ、CSLA を使用してさまざまな層にわたってシリアル化されます。Web アプリと API の両方に、ビジネス オブジェクトへのプロジェクト参照があります。
1 つの特定のビジネス オブジェクトには、ADO からプライベート フィールドに入力され、パブリック ゲッター、つまり読み取り専用を介してアクセスされる Guid が含まれています。Web アプリ経由で使用すると正しく動作し、API 経由でアクセスして何かをしようとすると、常に value が入力されます00000000-0260-0251-6002-510200000000
。
サービス呼び出しをデバッグすると、データベースから期待される値が正しく入力されたプロパティが表示されます (プロパティの上にカーソルを置き、イミディエイト ウィンドウ、クイックウォッチなどを使用します)。 method 渡された値または割り当てられた値は常に に変わります00000000-0260-0251-6002-510200000000
。
ビジネス オブジェクトの他のすべての guid (多数あります) は正常に動作し、それらはすべて同じ方法で取得およびアクセスされます。ロードするオブジェクトや接続するデータベースに関係なく、この 1 つのバス オブジェクトのこの 1 つのプロパティは常にこの値を割り当てます。
これは Dev & Debug モードであり、デバッガーが混乱することはありません。TFS ビルド サーバーでビルドし、結果の API dll を別のアプリケーション サーバーにデプロイしました。同じ結果なので、開発マシンで具体的にビルドまたは実行することとは何の関係もありません。
さまざまな Guid コンストラクターで、文字列とバイト配列との間の解析をいじりました。同じ結果です。私は MSIL に参加しましたが、GUID を割り当てる呼び出しは、GUID を割り当てる他のすべての呼び出しと同じように見えます。珍しいことは何もありません。データベースからのビジネス オブジェクト ロードのデバッグはうまくいっているように見えます。このプロパティは可能な限り単純です。文字通り、_privateField を返すだけで、特別な処理などはありません。Webアプリを介して正常に動作し、同じdllを指しています!
" " をグーグルで検索00000000-0260-0251-6002-510200000000
しても何も得られません。特別な意味があるようには見えません。
私の知恵ではほとんどこれで終わりです。これ以上探索するオプションは考えられません。ここで何が起こっているのか、あるいは00000000-0260-0251-6002-510200000000
誰かにとって何か意味があるのか 考えられる人はいますか?