Wie in offiziellen document angegeben zu konfigurieren, ich versuche UseOwin
in den Startup.cs.
zu implementieren I/Port IAppBuilder (Microsoft.Owin.Builder.AppBuilder)
innen IApplicationBuilder (Microsoft.AspNetCore.Builder.IApplicationBuilder)
zu verwenden versuchen. Ich hatte Legacy-Code geschrieben mit IAppBuilder
läuft gut auf .Net Framework 4.5.Unable 'IApplicationBuilder UseOwin'
Ich habe einige Beispiele über die Verwendung von IAppBuilder in IAplicationBuilder gesehen, z. example 1example 2. Diese Versuche betrafen .netcore 1.1 und nicht .net core 2.0. Möglicherweise ist das der Grund, warum ich nicht portieren kann.
Bitte teilen Sie Ihre Gedanken, ob ich versuche, etwas zu erreichen, was im Moment nicht möglich ist .net core 2.0 oder es gibt einen Fehler in meinem Code.
Hinweis: ich verwende dotnetcore 2.0
mit Visual Studio 2017
Fehler
verfolge ich Fehler.
Rückgabe owinAppBuilder.Build, Aufgabe >>(); TypeLoadException: Der Typ 'System.Security.Cryptography.DpapiDataProtector' konnte nicht von Assembly 'System.Security, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' geladen werden.
Mein Versuch
app.UseOwin(setup => setup(next =>
{
var owinAppBuilder = new AppBuilder();
var aspNetCoreLifetime =
(IApplicationLifetime)app.ApplicationServices.GetService(typeof(IApplicationLifetime));
new AppProperties(owinAppBuilder.Properties)
{
OnAppDisposing = aspNetCoreLifetime?.ApplicationStopping ?? CancellationToken.None,
DefaultApp = next,
AppName = "test"
};
// Only required if CORS is used, configure it as you wish
var corsPolicy = new System.Web.Cors.CorsPolicy
{
AllowAnyHeader = true,
AllowAnyMethod = true,
AllowAnyOrigin = true,
SupportsCredentials = true
};
//corsPolicy.GetType()
// .GetProperty(nameof(corsPolicy.ExposedHeaders))
// .SetValue(corsPolicy, tusdotnet.Helpers.CorsHelper.GetExposedHeaders());
owinAppBuilder.UseCors(new Microsoft.Owin.Cors.CorsOptions
{
PolicyProvider = new CorsPolicyProvider
{
PolicyResolver = context => Task.FromResult(corsPolicy)
}
});
PublicClientId = "self";
OAuthAuthorizationServerOptions OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new Microsoft.Owin.PathString("/Login"),
Provider = new MyServiceProvider(PublicClientId),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
AllowInsecureHttp = true,
RefreshTokenProvider = new MyRefreshTokenProvider(),
};
owinAppBuilder.UseOAuthBearerTokens(OAuthOptions);
//owinAppBuilder.UseTus(context => new DefaultTusConfiguration
//{
// // Excluded for brevity, use the same configuration as you would normally do
//});
return owinAppBuilder.Build<Func<IDictionary<string, object>, Task>>();
}));
Gleiches hier, haben Sie es geschafft, eine Lösung zu finden? Ich benötige OWIN für SignalR selbst/ – NullBy7e