タグ付けされた質問 「.net-core」

.NET Coreは、.NET Frameworkの後継オープンソースです。サーバーやデータセンターからアプリやデバイスに至るまで、さまざまなアプリケーションや業種で使用できます。.NET Coreは、Windows、Linux、およびmacOS上のMicrosoftでサポートされています。

1
同一の入力で34回呼び出した後、Vector2.Normalize()の結果が変化するのはなぜですか?
以下は、System.Numerics.Vector2.Normalize()ループ内で(呼び出しごとに同じ入力で)呼び出し、結果の正規化されたベクトルを出力する単純なC#.NET Core 3.1プログラムです。 using System; using System.Numerics; using System.Threading; namespace NormalizeTest { class Program { static void Main() { Vector2 v = new Vector2(9.856331f, -2.2437377f); for(int i = 0; ; i++) { Test(v, i); Thread.Sleep(100); } } static void Test(Vector2 v, int i) { v = Vector2.Normalize(v); Console.WriteLine($"{i:0000}: {v}"); } …
10 c#  .net  .net-core 

2
Blazorで「サーバーに再接続できませんでした」というテキストを変更するにはどうすればよいですか?
Blazorサーバー側を使用しています。 Blazorアプリがリモートサーバーへの接続を切断すると、次のように表示されます。 上記の画像のテキスト(「サーバーに再接続できませんでした...」など)を変更したいと思います。 私の国の言語に変更したいと思います。 プロジェクトのファイルは見つかりましたが、何も見つかりませんでした。 どうすれば変更できますか?ありがとうございました。

1
Http.sysとURLPrefixを使用しているときにReact SPAを提供するようにドットネットコア3を構成する方法
URLPrefixを変更すると、次のエラーが発生します。 SPAのデフォルトページミドルウェアが見つからなかったため、デフォルトページ '/index.html'を返すことができず、他のミドルウェアがリクエストを処理しませんでした。 したがって、ドットネットコアにプレフィックスを通知するために何かが必要ですが、設定の正しい組み合わせを見つけることができないようです。 どうぞよろしくお願いいたします。 コードは以下のとおりです。 HostBuilderは次のようにセットアップされます。 public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseHttpSys(options => { options.AllowSynchronousIO = false; options.Authentication.Schemes = AuthenticationSchemes.None; options.Authentication.AllowAnonymous = true; options.MaxConnections = null; options.MaxRequestBodySize = 30000000; options.UrlPrefixes.Add("http://localhost:5005/Product/Site"); }); webBuilder.UseStartup<Startup>(); }); ConfigureServices: public override void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); services.AddSpaStaticFiles(configuration => { …

2
Linux Azure WebAppの指定されたフレームワーク 'Microsoft.AspNetCore.App'、バージョン '3.1.0'が見つかりませんでした
問題 Azureで.Net Core 2.2 Linux Webアプリを.Net Core 3.1にアップグレードすると、アプリケーションがSpecified framework 'Microsoft.AspNetCore.App', version '3.1.0' was not foundエラーでダウンします。.Net Core 3.1を使用して新しいLinux Webアプリを作成するまで、さらにbashコマンドプロンプトがdotnet --list-runtimesとして出力されていました2.2.7。 細部 ウェブサイトダウン ログストリーム .net core 3.1が見つからないため、レポートアプリケーションがダウンしています。 新しい.netコアWebアプリを作成しました 3.1 North Centralのlinux webapp、同じ問題 米国北中部で実行されていることを確認 https://aspnetcoreon.azurewebsites.net/によると、完全な.netCore 3.1サポートが必要です それでも.netコア2.2.7 opt/dotnet/runtimes 3、3.0、3.0.0をリストしますが、3.1はリストしません ` 環境変数 FRAMEWORK_VERSION = lts3.1ではなく、Azureリストの環境変数 出版 これは、Azure AppService Deployタスクを使用してazure devops ciパイプラインから公開されました。3.1はここでは利用できなかったので、LTS アップデート1 犯人はAzure Devops …

1
「System.IO.StreamWriter」から「CsvHelper.ISerializer」に変換できないのはなぜですか?
人のコンテンツをCSVファイルに書き込んでからエクスポートしようとすると、ビルドエラーが発生して失敗します。エラーは: cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer' これが何度もこの方法で実行したことが確実でない限り、なぜこれが起こっているのかはわかりません。 private void ExportAsCSV() { using (var memoryStream = new MemoryStream()) { using (var writer = new StreamWriter(memoryStream)) { using (var csv = new CsvHelper.CsvWriter(writer)) { csv.WriteRecords(people); } var arr = memoryStream.ToArray(); js.SaveAs("people.csv",arr); } } }

3
コントローラに入った後のモデルの動的バインディングの遅延バインディング
コントローラでアクションを開始した後にモデルを解決する方法を探しています。問題を説明する最も簡単な方法は次のとおりです。 public DTO[] Get(string filterName) { //How can I do this this.Resolve<MyCustomType>("MyParamName"); } あなたがなぜ私がそうしようとしているのかについての詳細を探しているなら、あなたは全体像を取得するために読み続けることができます TL; DR クエリ文字列から常に解決されるパラメーター名を指定して、モデルをリクエストを解決する方法を探しています。スタートアップからフィルターを動的に登録するにはどうすればよいですか。フィルターの登録を処理するクラスがあります。 私のスタートアップクラスでは、restServicesにフィルターを動的に登録できるようにしたいと考えています。大体次のようなカスタムControllerFeatureProviderに渡すために使用するオプションがあります。 public class DynamicControllerOptions<TEntity, TDTO> { Dictionary<string, Func<HttpContext, Expression<Func<TEntity, bool>>>> _funcNameToEndpointResolverMap = new Dictionary<string, Func<HttpContext, Expression<Func<TEntity, bool>>>>(); Dictionary<string, List<ParameterOptions>> _filterParamsMap = new Dictionary<string, List<ParameterOptions>>(); public void AddFilter(string filterName, Expression<Func<TEntity, bool>> filter) { this._funcNameToEndpointResolverMap.Add(filterName, …

1
netcore api 3.1でAuthorizationFilterContextを読み取る
APIキーをチェックするカスタムポリシーを実装したnetcore 2.2プロジェクトが機能しています。 startup.csに私はこのようにこのポリシーを追加しています //Add Key Policy services.AddAuthorization(options => { options.AddPolicy("AppKey", policy => policy.Requirements.Add(new AppKeyRequirement())); }); 私のAppKeyRequirementでは、AuthorizationHandlerから継承し、次のように着信リクエストのキーを解決します protected override Task HandleRequirementAsync(AuthorizationHandlerContext authContext, AppKeyRequirement requirement) { var authorizationFilterContext = (AuthorizationFilterContext)authContext.Resource; var query = authorizationFilterContext.HttpContext.Request.Query; if (query.ContainsKey("key") && query.ContainsKey("app")) { // Do stuff これはnetcore 3.1では機能しません 次のエラーが発生します。 タイプ「Microsoft.AspNetCore.Routing.RouteEndpoint」のオブジェクトをタイプ「Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext」にキャストできません。 コア3以上でこれを行う正しい方法は何ですか? Kirk Larkinが指摘したように、.net 3.0以降での正しい方法は、IHttpContextAccessorをAuthハンドラーに挿入して使用することです。 この時点での私の質問は、これをどのように注入するのですか?これをstartup.csで渡すことはできません。少なくとも方法はわかりません。 どんなアイデア/ヒントも大歓迎です。

1
.Net Core 3 IStringLocalizer.WithCulture(CultureInfo)は廃止されました
プロジェクトを.Net Core 2.2から.Net Core 3.0にアップグレードしました。 すべての警告とエラーを修正しようとした後、私は今この警告の解決策に資金を提供しようとしています: 'IStringLocalizer.WithCulture(CultureInfo)' is obsolete: 'This method is obsolete. Use `CurrentCulture` and `CurrentUICulture` instead.' これを使用して、ログインしているユーザーごとにWebサイトの言語を変更しています。ユーザーごとのウェブサイトカルチャーを変更するためのこの実装があります。 public class CultureLocalizer : ICultureLocalizer { private readonly IStringLocalizer localizer; public CultureLocalizer(IStringLocalizerFactory factory) { var type = typeof(Resources.PageResources); var assemblyName = new AssemblyName(type.GetTypeInfo().Assembly.FullName); localizer = factory.Create("PageResources", assemblyName.Name); } // if we …

1
コンソールアプリ(.NET Core)が「exited with code 0」を出力しないようにします。VS2019で
Visual Studio Community 2019(バージョン16.3.1)でCtrl + F5(デバッグなしで開始)を使用してコンソールアプリ(.NET Core)を起動すると、コンソールウィンドウの最後に次のメッセージが追加されます。 C:\ HelloWorld \ bin \ Debug \ netcoreapp3.0 \ HelloWorld.exe(プロセス1672)はコード0で終了しました。 using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } Visual Studio 2019がこのメッセージを印刷しないようにする方法はありますか?私はから解決策を試してみまし出力ウィンドウに表示されてから同様のメッセージを防止オプションを変更することで、[ツール]> [オプション]> [デバッグ]> [出力]ウィンドウ>プロセス終了メッセージ=オフ、それはコンソールウィンドウでは効果がありません。 注:このメッセージはVisual Studio 2017では表示されません。VisualStudio 2019でのみ表示され、.NET Coreアプリでのみ表示されます。

1
リクエストヘッダーがIdentityServer4に転送されない
認証にIdentityServer4を使用するマイクロサービスのAPIゲートウェイとしてocelotを使用しています。ocelot設定ファイルに「AuthenticationOptions」を追加して、apiキーを設定しました。ではスタートアップ Iは、Identityサーバーを追加します。IDサーバーでは、ヘッダーの値を使用して、接続文字列を動的に構築します。トークンを取得するリクエストを送信すると、IDサービスでヘッダーにアクセスできます。しかし、トークンを使用して次のリクエストを送信すると、元のヘッダーが使用できません。IDサービスで表示できるのは「Host」ヘッダーのみです。 リクエストをアイデンティティサーバーにルーティングする間、元のヘッダーを保持する方法はありますか? Startup.cs(IDサーバーの追加) services .AddAuthentication() .AddIdentityServerAuthentication("APIParts", options => { options.Authority = "http://localhost:60168"; options.RequireHttpsMetadata = false; options.ApiName = "Parts"; options.SupportedTokens = SupportedTokens.Both; }); ocelot.json ReRoutes": [ { "DownstreamPathTemplate": "/connect/token", "DownstreamScheme": "http", "DownstreamHostAndPorts": [ { "Host": "localhost", "Port": 60168 } ], "UpstreamPathTemplate": "/token", "UpstreamHttpMethod": [ "Post" ] }, { "DownstreamPathTemplate": "/api/Parts/Inventory", …

3
JwtBearerEvents.OnMessageReceivedが最初の操作の呼び出しで呼び出されない
IDプロバイダー(IDP)としてWSO2を使用しています。「X-JWT-Assertion」というヘッダーにJWTを配置しています。 これをASP.NET Coreシステムにフィードするために、OnMessageReceivedイベントを追加しました。これによりtoken、ヘッダーで指定された値にを設定できます。 ここに私がそれをしなければならないコードがあります(重要な部分は非ブラケットコードの最後の3行です): services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; }) .AddCookie() .AddJwtBearer(async options => { options.TokenValidationParameters = await wso2Actions.JwtOperations.GetTokenValidationParameters(); options.Events = new JwtBearerEvents() { // WSO2 sends the JWT in a different field than what is expected. // This allows us to feed it in. OnMessageReceived …

2
JsonStringEnumConverter(System.Text.Json)はnull値をサポートしますか?
.NET Core 2.xから.NET Core 3.xにコードをシフトしています(つまり、ネイティブライブラリを使用していますSystem.Text.Json)。これを行う際に、以前のNewtonsoft.Jsonnull可能列挙型のサポートには現時点で明確な移行パスがないという問題が発生しました-.NET Core 3.xではサポートされていないようです。 たとえばNewtonsoft.Json、JSONコンバーターはを使用して、次のようにnull可能な列挙型をサポートしました。 public enum UserStatus { NotConfirmed, Active, Deleted } public class User { public string UserName { get; set; } [JsonConverter(typeof(StringEnumConverter))] // using Newtonsoft.Json public UserStatus? Status { get; set; } // Nullable Enum } ネイティブライブラリの現在のバージョンは、System.Text.Jsonこれをサポートしていないようです。 この問題を解決するにはどうすればよいですか?コードを移行できません!

1
Entity Framework Core 3.0のパフォーマンスへの影響(コレクションナビゲーションプロパティを含む)(デカルト爆発)
EF Core 2.2をEF Core 3.0にアップグレードした後、大きなパフォーマンスの問題に直面しています。単一のコレクションナビゲーションプロパティと数百のフィールドを持つ単純なデータモデルを想像してみてください(現実はさらに暗く見えます)。 public class Item { [Key] public int ItemID {get;set;} public ICollection<AddInfo> AddInfos {get;set;} ... // consisting of another 100+ properties! } そして public class AddInfo { [Key] public int AddInfoID {get;set;} public int? ItemID {get;set;} public string SomePayload {get;set;} } アイテムの取得中、次のようにクエリを実行します。 ... var myQueryable = …

2
複数のユーザータイプのID-DbContextデザイン
.NET CoreのIdentityパッケージIdentityUser<Guid>を、単一のクラスで拡張された複数のクラスで使用しようとしていますUserRole。 UserStore<T>ユーザータイプごとに拡張する複数のクラスと、拡張する1つのクラスがありますRoleStore<UserRole>。 以下は私のstartup.csです: services.AddIdentity<InternalUser, UserRole>(IdentityOptions) .AddDefaultTokenProviders() .AddUserStore<InternalUserStore>() .AddRoleStore<GenericUserRoleStore>(); services.AddIdentityCore<Contractor>(IdentityOptions) .AddRoles<UserRole>() .AddDefaultTokenProviders() .AddUserStore<ContractorUserStore>() .AddRoleStore<GenericUserRoleStore>(); services.AddIdentityCore<Homeowner>(IdentityOptions) .AddRoles<UserRole>() .AddDefaultTokenProviders() .AddUserStore<HomeownerUserStore>() .AddRoleStore<GenericUserRoleStore>(); 私DbContextは延長していませんIdentityDbContext: public sealed class EntityDbContext: DbContext { } 複数のエラーが発生したため、以下を追加しましたDbContextが、コメント化しました。 public DbSet<IdentityUserClaim<Guid>> UserClaims { get; set; } public DbSet<IdentityUserRole<Guid>> UserRoles { get; set; } さまざまなエラーが発生します。 PluginType IUserStoreのインスタンス 'Dal.IdentityStores.InternalUserStore'およびPluginTypeのインスタンス 'RoleManager'でビルドエラーが発生しましたMicrosoft.AspNetCore.Identity.RoleManager 1[Models.Entities.Users.UserRole] - and …

2
awaitを使用することと、非同期タスクを処理するときにContinueWithを使用することとの違いは何ですか?
これが私の意味です: public Task<SomeObject> GetSomeObjectByTokenAsync(int id) { string token = repository.GetTokenById(id); if (string.IsNullOrEmpty(token)) { return Task.FromResult(new SomeObject() { IsAuthorized = false }); } else { return repository.GetSomeObjectByTokenAsync(token).ContinueWith(t => { t.Result.IsAuthorized = true; return t.Result; }); } } 上記の方法は待つことができますが、T askベースのA同期P atternが提案することとよく似ていると思いますか?(私が知っている他のパターンはAPMおよびEAPパターンです。) では、次のコードはどうでしょう。 public async Task<SomeObject> GetSomeObjectByToken(int id) { string token = repository.GetTokenById(id); …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.