1

IISでホストしているASP.NETWebAPIをMonoDroidから呼び出そうとしています。サービスは問題なく、さまざまなエンドポイントから呼び出すことができます。問題は、MonoDroidでこれを実行しようとすると、無効なキャスト例外が発生することです。

var s = response.GetResponseStream();
var j = (JsonObject)JsonObject.Load(s);

System.InvalidCastException:ロード部分に戻ります。

私はいくつかの読書をしました、そして人々はJsonNetFormatterクラスを使うためにWebAPIを切り替えようと試みるように思われます。私はそれを試しましたが、それでも運がありません。

誰かが私が何を試すことができるかについて何かアイデアがありますか?

アップデート

これがペイロードです

<ArrayOfAlbum xmlns:xsi="w3.org/2001/XMLSchema-instance"; 
              xmlns:xsd="w3.org/2001/XMLSchema">; 
   <Album> 
      <AlbumPK>f09d14cf-3bab-44c8-b614-2b7cf728efd4</AlbumPK>
      <Name>Colorado</Name> 
      <UserName>firstUser</UserName> 
      <ParentAlbumFK xsi:nil="true" /> 
      <DateCreated>2012-03-12T19:47:54.493</DateCreated> 
   </Album> 
</ArrayOfAlbum>

 [{"AlbumPK":"f09d14cf-3bab-44c8-b614-2b7cf728efd4","Name":"Colorado",
    "UserName":"emorin","ParentAlbumFK":null,
    "DateCr‌​eated":"2012-03-12T19:47:54.493"}]

AcceptヘッダーをJSONに変更するFiddlerからの応答。

HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 17 Apr 2012 19:45:47 GMT

97
[{ "AlbumPK":"f09d14cf-3bab-44c8-614-2b7cf728efd4","Name":"Colorado",
   "UserName":"emorin","ParentAlbumFK":null,
   "DateCreated":"2012-03-12T19:47:54.493"}]
0
4

1 に答える 1

0

サーバーがチャンク エンコーディングでデータを送信しているようで、MonoDroid がチャンク エンコーディングを理解できない可能性があります。IIS でオフにしてみてください。

于 2012-04-17T16:25:21.807 に答える