0

C#とXAMLでMetroアプリを使用しています。タイルは定期的に更新され、WebAPIを使用してタイル通知XMLを提供しました。ここまでは順調ですね。次に、WebAPIをホストする予定のサーバーに.NET 4.5がないため、WebAPIを使用できないと言われました。すぐにインストールする予定もありません。WebAPIを、同じことを行う単純な古いWebサービス(.NET 3.5)に変更する必要がありました。タイル通知XMLを返します。HTTP-GETを有効にして(セキュリティ上の懸念があることはわかっています)、次のようにWebサービスを呼び出すことができました-

http://server/TileNotifications.asmx/GetTileData?user=user@domain.com

しかし、切り替えてから、タイルは更新されていません。Fiddlerをチェックして、アプリがWebサービスにアクセスし、XMLが正しく返されることを確認しました。ただし、タイルは更新されません。WebAPIに置き換えると、タイルが更新されます。

Webサービスで何か特別なことをする必要がありますか?カスタム属性でWebメソッドを装飾するようなものですか?これが私のWebサービスコードです-

[WebMethod]
        public XmlDocument GetTileData(string user)
        {
           // snip

            var xml = new XmlDocument();
            xml.LoadXml(string.Format(@"<tile>
                                      <visual>
                                        <binding template='TileWideSmallImageAndText02'>
                                          <image id='1' src='http://server/images/{0}_wide.png'/>
                                          <text id='1'>Custom Field : {1}/text>
                                          <text id='2'>Custom Field : {2}</text>
                                          <text id='3'>Custom Field : {3}</text>
                                        </binding>
                                        <binding template='TileSquarePeekImageAndText01'>
                                          <image id='1' src='http://server/images/{0}_square.png'/>
                                          <text id='1'>Custom Field</text>
                                          <text id='2'>{1}</text>
                                        </binding>    
                                      </visual>
                                    </tile>", value1, value2, value3, value4));

            return xml;
        }
4

0 に答える 0