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

ASP.NET Coreは、ウェブアプリケーションとクラウドアプリケーションを構築するための無駄のない、構成可能なクロスプラットフォームフレームワークです。GitHubの完全オープンソースです。ASP.NET Coreアプリは、完全な.NET Frameworkまたはそれより小さい.NET Coreを備えたWindows上で、または.NET CoreおよびMonoを備えたLinuxおよびMacOS上で実行できます。

2
.NET Core 3.0でAddJwtBearer拡張機能を置き換える方法
.NET Core 2.2でコンパイルして動作する次のコードがあります。 byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = false; x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false }; }); .NET Core 3.0では、次のエラーが発生します。 エラーCS1061「AuthenticationBuilder」には「AddJwtBearer」の定義が含まれておらず、タイプ「AuthenticationBuilder」の最初の引数を受け入れるアクセス可能な拡張メソッド「AddJwtBearer」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) …

5
ASP.NET Core 3.0 System.Text.Json Camel Case Serialization
ASP.NET Core 3.0 Web APIプロジェクトでは、System.Text.Jsonシリアル化オプションをどのように指定して、Pascalケースのプロパティをキャメルケースに、またはその逆に自動的にシリアル化/非シリアル化しますか? 次のようなPascal Caseプロパティを持つモデルがあるとします。 public class Person { public string Firstname { get; set; } public string Lastname { get; set; } } そして、System.Text.Jsonを使用してJSON文字列をPersonクラスのタイプに逆シリアル化するコード: var json = "{\"firstname\":\"John\",\"lastname\":\"Smith\"}"; var person = JsonSerializer.Deserialize<Person>(json); JsonPropertyNameが次のような各プロパティで使用されない限り、正常に逆シリアル化されません。 public class Person { [JsonPropertyName("firstname") public string Firstname { get; set; } [JsonPropertyName("lastname") public …

3
Docker:ドライブは共有されていません
ASP.NET Core 3.1 MVCアプリケーションを「ドッキング」すると、次の結果が得られました。 docker run -dt -v "C:\Users\admin\vsdbg\vs2017u5:/remote_debugger:rw" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1\DockerizedWebApp1:/app" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1:/src/" -v "C:\Users\admin\.nuget\packages\:/root/.nuget/fallbackpackages2" -v "C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true" -e "ASPNETCORE_ENVIRONMENT=Development" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages2" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2" -P --name DockerizedWebApp1 --entrypoint tail dockerizedwebapp1:dev -f /dev/null docker: Error response from daemon: status code not OK but 500: {"Message":"Unhandled exception: Drive …

3
列挙型は.Net core 3.0 FromBodyリクエストオブジェクトで機能しなくなりました
最近、web apiを.Net core 2.2から.Net core 3.0にアップグレードしましたが、ポストの列挙型をエンドポイントに渡すと、リクエストでエラーが発生することに気付きました。例えば: 私のAPIエンドポイントには次のモデルがあります。 public class SendFeedbackRequest { public FeedbackType Type { get; set; } public string Message { get; set; } } FeedbackTypeは次のようになります。 public enum FeedbackType { Comment, Question } そしてこれはコントローラメソッドです: [HttpPost] public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request) { var response = await _feedbackService.SendFeedbackAsync(request); return Ok(response); } …

4
Microsoft.CodeAnalysisがASP.NET Core Webサイトで公開されるのはなぜですか?
私はASP.NET Core MVC 3.0 Webサイトを公開しています。出力フォルダーには、Microsoft.CodeAnalysisライブラリへの参照が多くの言語で多く含まれています。誰かがその理由を知っていますか? もちろん、FxCopAnalyzersNugetパッケージはプロジェクトにインストールされていますが、以前のバージョンのプロジェクトでは公開されていなかったので、本番環境では開発時にのみ役立つはずなので、なぜ今なのかわかりません。

3
asp.netコア3.1のテナントに基づく認証スキームを登録する
現在、デフォルトのクライアントIDとシークレットを備えた外部ログインプロバイダーを備えたIdentity Server 4 Webアプリケーションを作成しています。しかし、私の目標は、テナントに基づいてAzure、Google、Facebookなどの認証プロバイダーを登録することです。 私はSaasKitマルチテナンシーアセンブリを使用しましたが、ここではapp.usepertenant()ミドルウェアを試しました。ただし、UseGoogleAuthentication()メソッドは廃止されたため、このusepertenantミドルウェアを使用してマルチテナント認証を実現できませんでした。 現在のコード、 services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); 期待されるコードは以下のようです、 var authentication = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme); if (tenant.hasMicrosoft) { authentication.AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); } if (tenant.hasGoogle) { authentication.AddGoogle(option => { option.ClientId = …

1
タイプまたは名前空間名 'IWebHostEnvironment'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)
.NET Core 3.0.100を使用しています。Microsoft Visual Studio Community 2019 Previewバージョン16.4.0 Preview 1.0; Blazor-server(公式リリース)。 BlazorサーバーWebアプリに認証と承認を追加しようとしています。こちらのガイドラインを読んでいますhttps://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?view=aspnetcore-3.0&tabs=visual-studio#scaffold-identity-into-an -空のプロジェクト (私はこれも読んでhttps://github.com/aspnet/Identity/issues/1825) 次に、プロジェクトを右クリックし、Add\を選択しますNew Scaffolded Item... ファイルを読みScaffoldingReadme.txt、ガイドに従ってください。 デバッグのためにF5を押し、エラーをキャッチします Severity: Error Error Code: CS0246 Description: The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?) Project: foo File: C:\Users\donhuvy\Desktop\foo\bar\obj\Debug\netcoreapp3.0\Razor\Pages\Shared\_Layout.cshtml.g.cs Line: …

1
Asp.NetコアコントローラーからIAsyncEnumerable <T>およびNotFoundを返す
IAsyncEnumerable&lt;T&gt;and を返すが、NotFoundResultまだ非同期で処理されるコントローラーアクションの正しいシグネチャは何ですか? 私はこのシグネチャを使用しましたが、それがIAsyncEnumerable&lt;T&gt;待てないためコンパイルできません: [HttpGet] public async Task&lt;IActionResult&gt; GetAll(Guid id) { try { return Ok(await repository.GetAll(id)); // GetAll() returns an IAsyncEnumerable } catch (NotFoundException e) { return NotFound(e.Message); } } これは正常にコンパイルされますが、その署名は非同期ではありません。だから私はそれがスレッドプールのスレッドをブロックするかどうか心配しています: [HttpGet] public IActionResult GetAll(Guid id) { try { return Ok(repository.GetAll(id)); // GetAll() returns an IAsyncEnumerable } catch (NotFoundException e) { …

3
Blazorサーバー側で検証メッセージ(DataAnnotationsValidator)をローカライズする方法
VS 2019の最新バージョンでblazor 3.1を使用しています。 これまでのところ、ページラベル(タイトル、テーブルフィールドなど)をローカライズできます。 ではListEmployee.razorページ私は、テーブルの見出しなどをローカライズすることができていますし、上のAddEmplyeeValidation.razorページ私は、ローカライズのフォームラベルにできるようですが、私は、問題の検証メッセージをローカライズしています。 検証メッセージのEmployee.cs検証メッセージは、このファイルとResources/Dataフォルダで定義されてData.Employee.ar.resxおりData.Employee.ar.resx、次のように定義されています。 System.ComponentModel.DataAnnotationsを使用します。 名前空間BlazorSPA1.Data {public class Employee {[MaxLength(50)] public string Id {get; セットする; } [Required (ErrorMessage ="Name is RRRequired")] [StringLength(20, ErrorMessage = "Name is too long.")] public string Name { get; set; } [Required] [StringLength(20)] public string Department { get; set; } [MaxLength(100)] public string Designation …

2
リバースプロキシ404の背後にあるBlazorサーバー側
(ARRを使用して)リバースプロキシの背後にあるIISでホストされているblazorサーバー側アプリがあります。 私は思いつく限りのことをすべて試しましたが、404を使い続けています _framework / blazor.server.js 私のベースhrefは "/ subsite /"に設定されています: &lt;base href="https://stackoverflow.com/subsite/" /&gt; そして私のすべてのsrc値は次のように相対的です: &lt;script src="_framework/blazor.server.js"&gt;&lt;/script&gt; &lt;script src="_content/BlazorInputFile/inputfile.js"&gt;&lt;/script&gt; &lt;script src="animations.js"&gt;&lt;/script&gt; 他のすべてのスクリプト参照は正常にロードされ、_contentデータであってもblazor.server.jsはロードされません。 MVCアプリでも古いPathBaseトリックを試しましたが、成功しませんでした。 if (!env.IsDevelopment()) { app.Use((context, next) =&gt; { context.Request.PathBase = new PathString("/subsite"); return next(); }); } Blazorにblazor.server.jsをリバースプロキシシナリオのどこに配置するかを認識させる方法を誰かに教えてもらえますか?

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

7
.NET Core 3.0を使用するAzure Webアプリが失敗する:Microsoft.AspNetCore.Appが見つかりません
.NET Core 3.0へのアップグレード後にWebアプリをデプロイしようとしていますが、「サービスを利用できません」というメッセージが引き続き表示されます。dotnetKudu(dotnet webapp.dll)から実行しようとすると、次のエラーが発生します。 It was not possible to find any compatible framework version The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found. - The following frameworks were found: 2.1.10 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] 2.1.12 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] 2.1.13 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] 2.2.5 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] 2.2.6 …

3
すべてをスタートアップクラスに追加する以外に、ASP.NET Core 3.1で依存関係を登録するための堅牢な方法はありますか?
ASP.NET Core 3.1プロジェクトがあります。通常、クラスのConfigureServices()メソッドを使用して依存関係を登録しますStartup.cs。 しかし、私は多くの依存関係を登録しなければならないことに気づき、ConfigureServices()見た目は巨大です!静的メソッドの拡張メソッドを作成してConfigureService() `クラスから呼び出すことができることはわかっていますが、もっと良い方法があるかどうか疑問に思っています。 このように1つずつ定義する必要なしにIoCコンテナに依存関係を登録する方法がある場合 services.AddScoped&lt;Interface, Class&gt;(); .... 200 lines later services.AddScoped&lt;ISettings, Settings&gt;()

2
DockerイメージがWindows / MVCコアでビルドするのに時間がかかる
Dockerコンテナーに複数のプロジェクトがあるMVC Core 2.2があります。実行すると、イメージをビルドしてコンテナを起動するのに約4分かかります。使用していdocker-composeます。 これは小さな開発であり、私はまともなコンピューターを持っているので、これは遅いようです。リソースが使用されていないようです。イメージのビルド中、プロセッサが8%未満であり、RAMが動作しないため、ディスクはほぼ0%です。GPU 0%。Microsoftのイメージがダウンロードされている間、インターネットが数秒間急上昇しているのが見えますが、それだけです。私はドッカーに次のリソースを与えました: Cores: 8 RAM: 8GB SWAP: 3gb Disk Image Size: 64GB (30.5 GB used) これらのハードウェアリソースを使用してビルドを高速化する方法はありますか?

3
Visual Studio 2019からAzureへのASP.NET Core 3.1サイトの発行エラー
(モジュールを使用して)Azure App Serviceに正常にデプロイされた既存のASP.NET Core 3.0アプリケーションがあります。アプリを(今日のリリースの)ASP.NET Core 3.1にアップグレードすると、アプリケーションはローカルバージョンのIIS Expressで正しくビルドおよび実行されます。(今日のリリースの)Visual Studio 16.4を使用してAzure App Serviceに公開しようとすると、次のエラーが表示されます。AspNetCoreModuleV2 アセットファイル「C:\ Project \ obj \ project.assets.json」に「.NETCoreApp、Version = v3.0」のターゲットがありません。復元が実行され、プロジェクトのTargetFrameworksに「netcoreapp3.0」が含まれていることを確認します。 ノート すべて&lt;PackageReference&gt;のにMicrosoft.AspNetCore、Microsoft.EntityFrameworkCoreとMicrosoft.Extensionsに更新されました3.1.0 私は自分のソリューションをクリーンアップし、objフォルダーを削除して、参照が残っていないことを確認しました。 このエラーはの3.1.100バージョンから生成されていMicrosoft.PackageDependencyResolution.targetsます。 .NET Core 3.0の依存関係にまだ何かが掛かっているようです。しかし、それが展開中にのみ問題を引き起こしている理由は明らかではありません。されているAzureのアプリケーションサービスですまだ準備ができていない、.NETのコア3.1?または、これは依存関係解決ターゲットの問題ですか?

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