我正在尝试制作AppHarbor OWIN应用。我使用了我正常运行的POC独立OWIN应用程序并将其迁移到使用IIS Pipeline(尝试OwinStartup和appSettings)
尽可能接近,Startup没有初始化。但是,我甚至不确定。构建成功,并复制相关的(一个)DLL。我得到了404,并在/页面上的股票标准“nginx”页面。我修改了appSettings以指向Startup而不是(除了实际上)使用OwinStartup属性,现在/ page是403.这是一个线索,但我还是迷路了
Startup看起来像这样:
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示例的直接副本。
有什么建议我如何将其转向运作?谢谢!
P.S。在Xamarin环境下开发,面向.NET 4.5
答案 0 :(得分:0)
好的,AppHarbor支持很棒。他帮助我发现:
这些是主要问题。现在很棒