Мое приложение выполняет AJAX-вызов маршрута /{Lang}/cook для получения обработанного партиала Razor.
В VS2012 через Cassini я могу получить ответ;
Однако в Xamarin 4.2.3 (сборка 60) я получаю следующую ошибку: Не удалось загрузить ресурс: сервер ответил со статусом 405 (NotImplementedException)
http://127.0.0.1:8080/en-us/cook
Любые идеи, почему маршрут работает в одной IDE, но не в другой?
Я использую сервисный стек 4.0.12.0 с кэшированием в памяти. Система работает в бесплатном/оценочном режиме.
Вот метод службы, который использует кэширование:
Внутри открытого класса ScenarioService: Service
[DefaultView("cook")]
public object Get(CookScenario request)
{
var cacheKey = GetCacheKey ("cook", request.Lang);
return base.Request.ToOptimizedResultUsingCache (base.Cache, cacheKey, () => {
CookScenarioResponse response = LoadJson<CookScenarioResponse>(request.Lang, "cook");
return response;
});
}
Внутри AppHost.cs
public override void Configure(Funq.Container container)
{
//Set JSON web services to return idiomatic JSON camelCase properties
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
//Configure User Defined REST Paths
container.Register<ICacheClient>(new MemoryCacheClient());
this.GlobalRequestFilters.Add((request, response, requestDto) =>
{
var localizedReq = requestDto as LocalizedRequest;
if (localizedReq != null)
{
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture = new CultureInfo(localizedReq.Lang);
}
});
Plugins.Add(new RazorFormat());
}
EDIT: я попытался удалить ToOptimizedResultUsingCaching, и служба для "/en-us/cook" работала нормально; поэтому проблема определенно связана с ToOptimizedResultUsingCaching в стеке служб 4.0.12.0 в Xamarin Studio 4.2.3 (сборка 60) в Mac OS 10.7.5.
Вот информация о моноверсии: компилятор Mono JIT версии 3.2.6 ((no/9b58377 Thu 16 января 17:49:56 EST 2014)
Решение от 27 марта 2014 г., 13:00 по тихоокеанскому времени
После того, как я получил предварительную версию (4.0.16) ServiceStack, я смог подтвердить, что кэширование в памяти теперь работает на Xamarin 4.2.3 (сборка 60) на моем ноутбуке Macbook pro (OSX 10.7.5).
Спасибо еще раз за помощь!