2009-03-04 2 views
0

私はちょうどノートパソコンのクラッシュ(それに水をこぼした)があった。 Windows Server 2008のラップトップから、Visual Studio 2008 SP1を実行しているVistaのラップトップに作業コード(2日前のバックアップ)をコピーしました。どちらも.NET 3.5 SP1を実行しています。.NET Service Referenceのプロパティが呼び出し時にnullになる原因は何ですか?

私は製品情報を返すウェブメソッドコールを持っています。

次のようにWebサービスの一部のフィールド(ホストされたサーバー上で実行されている)がある

public class Product 
{ 
    [XmlAttribute("sku")] 
    public string SKU; 

    [XmlAttribute("name")] 
    public string Name; 

    [XmlAttribute("category")] 
    public string CategoryName; 

    [XmlAttribute("categoryKey")] 
    public string CategoryKey; 

    public List<ProductSectionInfo> Sections; 

    public List<MediaItem> MediaItems; 

    public string Foo = "bar"; 
} 

public class MediaItem 
{ 

    [XmlAttribute("type")] 
    public string Type; 

    [XmlAttribute("imageKey")] 
    public string ImageKey; 

    [XmlAttribute("path")] 
    public string Path; 

    [XmlAttribute("thumbnailPath")] 
    public string ThumbnailPath; 

    [XmlAttribute("thumbnailImageKey")] 
    public string ThumbnailImageKey; 

    [XmlAttribute("selectable")] 
    public bool Selectable; 
} 

私は'GetProduct' Webメソッドを実行すると'Sections'プロパティが上(私のC#クライアントに移入されています新しいラップトップ)が、'MediaItemsのプロパティはそうではありません。ウォッチウィンドウにはヌルとして表示されます。

私はFiddlerを見て、どちらもXMLに取り込まれています。どちらもListで、標準の[]配列としてプロキシで定義されています。

上記の「Foo」プロパティを追加したことにお気づきかもしれません。私はサーバー上でこれを行い、Web参照を再コンパイルして再作成しました。私はクライアントで 'Foo'プロパティが出現したことを確認できました。だから、その 'MediaItems'は大文字で書かれています。

私は確かに、この新しいノートパソコンには他とは異なるものがあると確信しています。私は本当に新しいものを書いていなかったし、他の場所でしか変更を加えていなかった。そして、私は問題に気づくまでサービス参照プロキシを再作成しませんでした。テストサーバー上で実行されているクライアントの別のインスタンスが、同じサービスを正常に実行しています。

固定ラップトップは明日戻ってきますが、私は本当にこれの底に到達したいと思います。私はかなり困惑しています。私はこの前にこのような奇妙なことを見たことがありますが、実際には何が起こっているのかは分かりません。何とかプロキシにデバッグできますか?

答えて

0

私はこれが問題の種類であることを知っていました。私が何かを肯定するとすぐに、それは解決します。

私はまだ何の手がかりもありません。私が 'Foo'プロパティを追加して、プロキシを再生成でき、まだ動作しなかったという事実は非常に厄介です。

  • 私が生成された新しい 'MediaItems2' プロパティを追加し、それ

    MediaItems2 =新しいリスト(新規MediaItem [] {新しいMediaItem()})

  • に空 'MediaItem' を割り当て私は、Webサービスから「MediaItems2」を削除
  • すべてが働い
  • 新しいプロキシは
  • 私は新しいプロキシを生成
  • それでも働いた

まだ非常に困惑。このプロジェクト(ASP.NET MVC)がこのラップトップでも実行されたのは初めてのことです。

まあ、仕事に戻って....

0

メッセージの一部が正常に読み込まれなかったために発生した問題のほとんどは、通常、プロキシとサービスの違いです。 通常、何かが変更された/動かされた、あるいはxml名前空間の変更/問題さえあります。