sağlamak benim web.config aşağıdakileri deneyin:Owin web.config'de başlangıç sınıfı (otomatik başlatma keşif)
<appSettings>
<add key="owin:AutomaticAppStartup" value="false" />
<add key="owin:appStartup" value="MyNamespace.MyStartupClass" />
</appSettings>
Bu documentation doğru otomatik başlatma algılama devre dışı bırakılmalıdır anlamak durumunda. Bu yüzden bir başlangıç niteliğine ihtiyacım yok. Owin başlamaz gibi
Maalesef görünüyor. (Hatası alıyorum çünkü bu bkz. HTTP Error 403.14 - Forbidden
Ben dizin dosyasına istekleri işlemek için bir denetleyici kullanın.)
Ben <add key="owin:AutomaticAppStartup" value="true" />
kullanmak ve başlatma özelliğini [assembly: OwinStartup(typeof(MyStartupClass))]
sonra uygulama başlatma beklendiği gelmez olarak eklerseniz.
Yani soru neden? Sorunu çözmek için ne yapabilirim? Ben Owin 3.0.0.0 kullanıyorum
Güncelleme:
Bu benim başlangıç sınıfı (ilgili parçalarla minified sürümü) gibi görünüyor:
using System.Web.Http;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using Owin;
using MyOtherNamespace;
namespace MyNamespace
{
public class MyOnlineStartup : MyOtherStartup
{
public new void Configuration(IAppBuilder app)
{
base.Configuration(app); //Call base method! This is important because otherwise ther serilization will not be correct
HttpConfiguration config = CreateRouting();
config.Routes.MapHttpRoute("exampleAppNone", "", new { controller = "MyIndex" }, null, null);
config.Routes.MapHttpRoute("exampleAppIndex", "index.html", new { controller = "MyIndex" }, null, null);
app.UseWebApi(config); // Use the WebAPI technology.
}
}
}
o
türetilmiştirusing System.Linq;
using System.Web.Http;
using Microsoft.AspNet.SignalR;
using Newtonsoft.Json;
using Owin;
namespace MyOtherNamespace
{
public class MyOtherStartup
{
protected static HttpConfiguration CreateMyRouting()
{
HttpConfiguration config = new HttpConfiguration();
config.Routes.MapHttpRoute(
"myIndex",
"my/",
new
{
controller = "MyIndex"
},
null,
null
);
config.Routes.MapHttpRoute(
"myIndex2",
"my/index.html",
new
{
controller = "MyIndex"
},
null,
null
);
var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
config.Formatters.JsonFormatter.SerializerSettings.TypeNameHandling = TypeNameHandling.Auto
return config;
}
public void Configuration(IAppBuilder app)
{
JsonSerializer serializer = Serialization.ClientJsonSerializer();
serializer.ContractResolver = new MySerializationContractResolver(false);
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer),() => serializer);
app.MapSignalR("/" + MyRequestHandler.MySignalRPath, new HubConfiguration());
}
}
}
'MyStartupClass' sınıfını gönderir misiniz? –
Sınıfımın hangi bölümleri alakalı olur? İlişkisiz bir sürü şey içeren oldukça büyüktür. Başlangıç sınıfımın bir sınıf kitaplığında bulunan başka bir başlangıç sınıfından türetildiğini belirtmek gerekir. – Sjoerd222888
Alakasız parçaları kaldırın Sadece sınıf yapınızı ve anahatlarınızı görmek istiyorum. –