Что такое мой сервис WCF RIA? - PullRequest
       19

Что такое мой сервис WCF RIA?

0 голосов
/ 27 февраля 2012

Я очень новичок в сервисах Silverlight и WCF RIA, так что, извините за мои недоразумения. У меня есть компонент карты telerik в моем клиенте SL с использованием URL тайлов с картографического сервера. Я хотел реализовать свой собственный провайдер, поэтому я реализовал этот метод:

 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.

Итак, как я могу это сделать? Я имею в виду, как я могу реализовать службу RIA WCF в своем веб-проекте, чтобы мой клиент SL называл его URL? Я нашел много примеров, которые определяют доменную службу в веб-проекте и используют ее в SL, но я хочу знать, что это за URL? например, если я реализую службу домена, которая получает параметры x, y, масштабирования и извлекает ее плитку из базы данных, каков ее URL, чтобы я мог вызвать его в своем компоненте SL ?? И у меня есть еще один вопрос. Если это возможно, возможно ли аутентифицировать моих пользователей для вызова этой службы? и как?

1 Ответ

1 голос
/ 05 марта 2012

Вы не должны использовать службу RIA WCF для запроса плитки.Вам необходимо реализовать метод get на сервере, который получает параметры масштабирования x, y и type и возвращает соответствующее изображение.

Например, если вы используете в сервере ASP MVC, функция getэто:

namespace MvcMap.Controllers
{
    public class MapTile : Controller
    {
        public ActionResult GetTile(int zoom, int x, int y, string type="")
        {
            // Add your action logic here
            // return your image
        }
    }
}

URL для вызова этого действия MVC похож на:

http://yourdomain_or_ip/MapTile/GetTile?zoom=10&x=5&y10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...