我對Silverlight和WCF RIA服務非常陌生,所以請原諒我的誤解。 我的SL客戶端中有一個telerik地圖組件,它使用來自地圖服務器的tiles地址。我想實現我的自定義提供程序,所以我實現了此方法:我的WCF RIA服務是什麼?
protected override Uri GetTile(int tileLevel, int tilePositionX, int tilePositionY)
{
int zoomLevel = ConvertTileToZoomLevel(tileLevel);
string url = this.tileUrlFormat;
url = ProtocolHelper.SetScheme(url);
url = url.Replace("{zoom}", zoomLevel.ToString(CultureInfo.InvariantCulture));
url = url.Replace("{x}", tilePositionX.ToString(CultureInfo.InvariantCulture));
url = url.Replace("{y}", tilePositionY.ToString(CultureInfo.InvariantCulture));
url = url.Replace("{type}", googleTileType.ToString());
return new Uri(url);
}
它可與在線地圖服務器一起使用。但是,我想使用我自己的存儲在sql server數據庫中的磁貼。
那麼,我該怎麼做呢?我的意思是我如何在我的web項目中實現WCF RIA服務,以便我的SL客戶端調用它的url?我發現了許多在Web項目中定義域服務並在SL中使用它的例子,但是我想知道它是什麼網址? 例如,如果我實現一個域服務,它獲得x,y,縮放參數並從數據庫中檢索它的tile,它是什麼URL,以便我可以在我的SL組件中調用它? 我還有一個問題。如果可以這樣做,是否可以通過認證我的用戶來調用該服務?如何?