AppHarbor + OWIN
Я пытаюсь сделать приложение AppHarbor OWIN. Я взял свое работающее автономное приложение OWIN для POC и перенес его на IIS Pipeline (пробуя OwinStartup и appSettings).
Насколько я могу судить, автозагрузка не инициализируется. Но я даже не уверен. Сборка завершается успешно и копирует соответствующую (одну) DLL. Я получал 404 и на / странице стандартную страницу "nginx". Я изменил appSettings так, чтобы он указывал на Автозагрузку вместо (в дополнение к фактически) использования атрибута OwinStartup, и теперь / page - это 403. Это подсказка, но я все еще потерян
Запуск выглядит так:
using Owin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using System.IO;
using Microsoft.Owin;
using Microsoft.Owin.Extensions;
[assembly: OwinStartup(typeof(PGO_6.Startup))]
namespace PGO_6
{
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
appBuilder.Use((context, next) =>
{
TextWriter output = context.Get<TextWriter>("host.TraceOutput");
return next().ContinueWith(result =>
{
output.WriteLine("Scheme {0} : Method {1} : Path {2} : MS {3}",
context.Request.Scheme, context.Request.Method, context.Request.Path, getTime());
});
});
appBuilder.Run(async context =>
{
await context.Response.WriteAsync(getTime() + " My First OWIN App");
});
// Configure Web API
var config = new HttpConfiguration();
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
appBuilder.UseWebApi(config);
}
static string getTime()
{
return DateTime.Now.Millisecond.ToString();
}
}
}
Итак, почти полностью код котельной плиты. Часть {controller} является прямой от моего другого работающего POC. Другой - прямая копия примера MSDN.
Любой совет, как я могу продвинуть это к функционированию? Спасибо!
PS разрабатывая это в среде Xamarin, ориентируясь на.NET 4.5
1 ответ
ОК, поддержка AppHarbor отличная. Он помог мне обнаружить:
- targetFramework должен быть установлен в блоке компиляции web.config. Ошибка новичка с моей стороны
- некоторые файлы.config не копировались во время сборки AppHarbor, потому что я не пометил файлы соответствующими атрибутами сборки / действиями копирования. Еще одна ошибка новичка с моей стороны
Это были основные проблемы. Прекрасно работает сейчас