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

ASP.NET Core MVCは、ASP.NET Coreで動的なWebサイトを作成するための軽量のプレゼンテーションフレームワークです。コントローラベースのMVCサイト、またはビューモデルベースのRazorページを作成できます。MVCには、ルーティング、モデルのバインドと検証、フィルター、Web API、Razorビューエンジンなどの機能が含まれています。

5
最初にEFコードと.netコアを使用して移行のスクリプトを生成できますか?
.Net Coreを使用してMVCアプリケーションを構築しており、移行のスクリプトを生成する必要があります。 EF6でコマンドを実行しました update-database -script しかし、.net Coreで同じことをしようとすると、次の例外がスローされます。 更新-データベース:パラメーター名 'script'に一致するパラメーターが見つかりません EFコアに相当するものがあるかどうか知っていますか?

7
ASP.NET CoreIdentity-現在のユーザーを取得する
現在ログインしているMVC5のユーザーを取得するには、次のことを行う必要がありました。 using Microsoft.AspNet.Identity; [Authorize] public IHttpActionResult DoSomething() { string currentUserId = User.Identity.GetUserId(); } さて、ASP.NET Coreではこれでうまくいくと思いましたが、エラーが発生します。 using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Http; private readonly UserManager<ApplicationUser> _userManager; [HttpPost] [Authorize] public async Task<IActionResult> StartSession() { var curUser = await _userManager.GetUserAsync(HttpContext.User); } 何か案は? 編集: Gerardoの応答は順調ですが、ユーザーの実際の「ID」を取得するには、これは機能しているようです。 ClaimsPrincipal currentUser = this.User; var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;

3
'アセンブリ' Microsoft.AspNetCore.Mvc.Formatters.Json、Version = 3.0.0.0から型 'Microsoft.AspNetCore.Mvc.MvcJsonOptions'を読み込めませんでした
Webアプリケーションでnetstandard2.1ライブラリを使用してnetcoreapp3.0います。にサービスを追加すると、Startup次のエラーが発生します。 'アセンブリ' Microsoft.AspNetCore.Mvc.Formatters.Json、Version = 3.0.0.0から型 'Microsoft.AspNetCore.Mvc.MvcJsonOptions'を読み込めませんでした またMicrosoft.AspNetCore.Mvc、クラスライブラリで2.2.0パッケージの機能をいくつか使用しています。 これが私のライブラリです.csproj、 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> </ItemGroup> </Project> これが私のServiceExtensionsライブラリのクラスです。 public static class ServiceExtensions { public static IMvcBuilder AddMyLibrary(this IMvcBuilder builder) { builder.Services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>(); builder.AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); }); builder.Services.ConfigureOptions<ConfigureLibraryOptions>(); return builder; } } これが私のConfigureLibraryOptionsクラスです public …

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) { …

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 MVC Coreで動的エラーページを処理するにはどうすればよいですか?
現在私は持っています app.UseExceptionHandler("/Home/Error"); 元のパスからの相対パスにしたい。 たとえば Tenant1 / PageThatThrowsError、次にapp.UseExceptionHandler( "Tenant1 / Home / Error"); しかし Tenant2 / PageThatThrowsError、次にapp.UseExceptionHandler( "Tenant2 / Home / Error"); できると思った app.UseExceptionHandler( new ExceptionHandlerOptions { ExceptionHandler = async (ctx) =&gt; { //logic that extracts tenant ctx.Request.Path = new PathString(Invariant($"{tenant}/Home/Error")); } } ); しかし、これは500をスローします 編集:たとえばリダイレクトを使用するすべての現在のソリューションは現在のエラーコンテキストを失い、コントローラーがたとえばHttpContext.Features.Get()を呼び出すことを許可しません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.