Вопросы с тегами [asp.net-core-middleware]

1

голосов
1

ответ
1.8k

Просмотры

Мой основной приложение ASP.NET говорит, что не может читать web.config

Я получаю эту ошибку, когда я достигаю мое приложение, которое я опубликовал в местной IIS: Ошибка HTTP 500.19 - Внутренняя ошибка сервера Запрошенная страница не может получить доступ, поскольку соответствующие данные конфигурации страницы является недопустимым. Моя web.config очень просто: что может быть не так? Я попытался дать всем пользователям разрешения читать мой C: \ Inetpub \ Wwwroot папку ... web.config, не имеет каких-либо очевидных ошибок в нем! Я попробовал некоторые из решений в этом вопросе, но они не работали ...
ekolis
1

голосов
1

ответ
29

Просмотры

Как запустить .net модульных тестов в Докер без установки всего SDK? [закрыто]

Есть ли способ запустить .net модульных тестов (XUnit или другие) в Докер без установки всего SDK? Я хотел бы иметь минимальную Docker изображение, которое будет использоваться исключительно для запуска моих тестов.
Stephane Simard
0

голосов
0

ответ
18

Просмотры

Как интегрировать Social Войти с помощью существующего .Net ядра Web API бэкэнда и угловой SPA фронтэнда с рабочей OpenIddict пользователя / паролем и каналом передачи маркерами

TL; DR Вопрос: как реализовать социальный логин (OAuth2 потока авторизации) с существующим приложением SPA / Web API, который основан на личных данных, пользователя / пароль, однонаправленного маркера аутентификации? У меня есть существующее приложение, который имеет: Backend: .Net Core 2 Web API с идентификацией и OpenIddict услугами, сконфигурированное, с процессом аутентификации рабочей на основе пароля пользователя / вызов для однонаправленных маркеров. Пользователи сохраняются с Идентичность (AspNetUsers). Часть кода Startup.cs // Зарегистрировать OpenIddict услуги. services.AddOpenIddict () .AddCore (опции => {options.UseEntityFrameworkCore () UseDbContext ();.}) .AddServer (опции => {options.UseMvc (); options.EnableTokenEndpoint ( "/ подключить / маркер"); опции .AllowPasswordFlow (); options.AllowRefreshTokenFlow (); опция. AcceptAnonymousClients (); options.RegisterScopes (OpenIdConnectConstants.Scopes.OpenId, OpenIdConnectConstants.Scopes.Email, OpenIdConnectConstants.Scopes.Phone, OpenIdConnectConstants.Scopes.Profile, OpenIdConnectConstants.Scopes.OfflineAccess, OpenIddictConstants.Scopes.Roles); }) .AddValidation (); , Frontend: SPA Угловое 7 приложение, которое потребляет этот бэкэнд API и токенов авторизации Таким образом, в основном текущие настройки, пользователь вводит пользователь / пароль в SPA, который вызывает бэкенд / подключения / маркер конечной точки, которая проверяет учетные данные и генерирует маркер для клиента. А теперь мне нужно интегрировать Social Login (OAuth2 поток авторизации), так что пользователь выбирает логин с провайдером, перенаправляется на страницу авторизации поставщиков, получает перенаправляется обратно к моему заявлению, которое должно создать идентификатор пользователя и сохранять данные идентичности UserLoginInfo и предоставить мой маркер приложения, так что пользователь может войти в систему. Я понимаю, поток авторизации OAuth2, что необходимо запросить код авторизации, а затем Обмен код авторизации для доступа Токена для этого провайдера. Я также знаю, что этот поток должен использовать бэкенд, когда он использует конфиденциальную информацию, как client_secret, которые не могут быть сохранены в стороне клиента. Но в какой-то момент пользователь должен взаимодействовать с веб-интерфейсе, так, соединяющим эти части, кажется, очень трудно, учитывая, что они широко используются технологии. Все практические примеры, которые я нашел на Google, были с помощью приложения .Net ядра MVC. Я также нашел эту статью ASP.N Co, 3. 0 Preview 4 - Аутентификация и авторизация для ООР, что кажется перспективным, но все еще в режиме предварительного просмотра 4. Я уже создал социальные приложения провайдеров и я client_id, client_secret. Кроме того, зарегистрировавшись мои других страниц URL. То, что я пытался без успеха было: В пользователь фронтэнда выбирает войти в системе с социальным провайдером, пользователь перенаправляется на страницу авторизации провайдера, аутентифицирует себя и перенаправляется от поставщика к моему фронтэнду URL (redirect_uri) с кодом поставщика тогда мой интерфейс называет мой бэкенд / Связь / маркер существующей конечной точки прохождения выбранного поставщика и полученный код, конечная точка была запрограммирована, чтобы получить у поставщика и код также, то мой бэкенд называет получить маркер доступа URL-адрес проводки «grant_type», «authorization_code» «код», код «redirect_uri провайдера "" providerSecret и получает StatusCode: 401, ReasonPhrase: «Несанкционированный» ответ Что я делаю неправильно? Это было очень трудно время, чтобы получить эту работу. То, что работало, но это не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. providerSecret и получает StatusCode: 401, ReasonPhrase: «Несанкционированный» ответ Что я делаю неправильно? Это было очень трудно время, чтобы получить эту работу. То, что работало, но это не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены. не то, что мне нужно неявный 2 шага поток авторизации, используя внешний интерфейс для вызовов аутентификации провайдера и вызов бэкэнда, чтобы получить мой предъявителю маркера и создать идентификатор пользователь. С этим пользователем установка сделал успешную регистрацию с помощью социального провайдера, к сожалению, это не то, что мне нужно EDIT: Составила схему того, что будет реализован, оно терпит неудачу на этапе 5/6 с StatusCode: 401, ReasonPhrase: «Несанкционированные» и дальнейшие шаги не завершены.
Fernando Ribeiro
1

голосов
2

ответ
1.6k

Просмотры

Do I use Snapshot file, migration file or data annotations in my EF Core to update database?

Я пытаюсь понять различные типы путей миграции можно выбрать при разработке 1.0 приложения ASP.NET ядро ​​с EF Core. Когда я создал свое первое приложение Core, я заметил, что создается класс ApplicationDbContextModelSnapshot, который использует ModelBuilder для построения модели. Потом я прочитал, что если мне нужно добавить таблицу в базу данных, мне нужно, чтобы создать новую модель и запустить командную строку для создания файла миграции и обновления базы данных. Хорошо, я его до этого момента. Но когда я делаю это, я заметил, что класс ApplicationDbContextModelSnapshot обновляется тоже. 1) Означает ли это, что я не могу изменить этот класс ApplicationDbContextModelSnapshot, так как он выглядит, как он получает регенерируется каждый раз? 2) Должен ли я использовать аннотации данных, чтобы построить свою модель или я должен использовать Fluent API, который говорит мне построить свою модель в классе ApplicationDbContext? А? другой файл, который строит модель? Я вижу три различных способа работы с базой данных здесь, класс снимка, аннотации данных, а также свободно API. Я запутался, потому что сегодня, я сделал ошибку в моем последней миграции файл, так что я удалил файл, отбросил базу данных и перезапустил обновление базы данных. Но, делая это, я получил ошибки, похожие на: Индекс «IX_Transaction_GiftCardId» зависит от столбца «GiftCardId». ALTER TABLE ALTER COLUMN GiftCardId не удалась, так как один или несколько объектов, доступ к этому колонку. Поэтому, естественно, мне было интересно, если я должен был изменить класс ApplicationDbContextModelSnapshot. Какой путь я должен принимать, когда речь идет о миграции или обновление базы данных, потому что эти три пути путают меня.
Ray
1

голосов
2

ответ
4.1k

Просмотры

эф ядро ​​миграции данных вставки

Я хотел бы вставить данные в таблицу миграции. Является ли это возможным? Миграция нуждается в конструктор без параметров доступен, и я хотел бы использовать дб контекст, определенный в Startup.cs файл (лучше всего я хотел бы получить его Повсеместно инъекции зависимостей). Как это сделать?
Marek
1

голосов
3

ответ
3.3k

Просмотры

Mapper not initialized. Call Initialize with appropriate configuration

Я получаю сообщение об ошибке при usinng AutoMaper для Netcore 2.1 PROJET Mapper не инициализирован. Вызов Initialize с соответствующей конфигурацией. Если вы пытаетесь использовать экземпляры картографа через контейнер или иначе, убедитесь, что у вас нет никаких вызовов на статические методы Mapper.Map, и если вы используете ProjectTo или методы расширения UseAsDataSource, убедитесь, что вы передаете в соответствующем IConfigurationProvider пример. AutoMapper.Mapper.get_Configuration () в Mapper.cs, линия 23 Я configed это общественный класс AutoMapperConfig {государственной статической MapperConfiguration RegisterMappings () {вернуть новый MapperConfiguration (CFG => {cfg.AddProfile (новый DomainToViewModelMappingProfile ()); cfg.AddProfile (новый ViewModelToDomainMappingProfile ());}); }} Файл DomainToViewModelMappingProfile. CS общественного класса DomainToViewModelMappingProfile: Профиль {общественного DomainToViewModelMappingProfile () {CreateMap (); CreateMap (); CreateMap (); }} Файл Startup.cs services.AddSingleton (Mapper.Configuration); services.AddScoped (SP => Новый Mapper (sp.GetRequiredService (), sp.GetService)); Любой человек может мне помочь? Спасибо вам!
ltiendat95
1

голосов
1

ответ
846

Просмотры

Чистая ядра MVC чистая архитектура без хранилища шаблона

Я пытаюсь создать приложение MVC в сети ядра 2.1, используя пример eshoponweb приложения. Ive читал, что в ядре Framework сущности нет большого преимущества положить слой хранилища в и просто использовать эф DbContext непосредственно. Как бы я сделать это в чистой архитектуре scenerio. В примере приложения контекст дБ в уровне инфраструктуры и логика бизнес-услуг все в ядре приложения. Я думал о переходе либо из них, но тогда не будет, что предотвратить разделение, чистая архитектура стремится достичь. https://github.com/dotnet-architecture/eShopOnWeb и https://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework-core/
JimmyShoe
1

голосов
1

ответ
648

Просмотры

Ядро asp.net выберите проверки с аннотацией данных не работает

Я потратил значительное количество времени, чтобы выяснить, но я не мог. Когда я отправляю мою модель без выбора опции - на самом деле выбор 0 - Выберите опцию -, проверка Обязательной не работает. Я также попытался удалить программно добавлен параметр по умолчанию из сервисного кода к коду вида, проверка не работала так, как хорошо. Если я удалил параметры по умолчанию полностью, то посмотреть двигатель автоматически выбирает первый вариант из списка и проверка никогда не будет сделана. Как я могу сделать проверки на стороне сервера сделано правильно? Это моя модель общественного класса AuditViewModel {общественного Guid Id {получить; задавать; } [Display (Name = "Тема")] [Требуется (ErrorMessage = "требуется копаться")] общественная строка Subject {получить; задавать; } Публичная строка AuditType {получить; задавать; } Публичная строка LocationCountry {получить; задавать; } Публичная строка LocationOffice {получить; задавать; } [Требуется (ErrorMessage = "требуется копаться")] [Display (Name = "AuditType")] общественность ИНТ AuditTypeId {получить; задавать; } Публичная строка CreatedOn {получить; задавать; } Публичная строка ModifiedOn {получить; задавать; } Публичная строка CreatedBy {получить; задавать; } [Display (Name = "Описание")] [Требуется (ErrorMessage = "требуется копаться")] общественная строка Описание {получить; задавать; } [Display (Name = "Страна")] [Требуется (ErrorMessage = "требуется копаться")] общественность ИНТ LocationCountryId {получить; задавать; } [Display (Name = "Офис")] [Требуется (ErrorMessage = "требуется копаться")] общественность ИНТ LocationOfficeId {получить; задавать; } [Display (Name = "Сезон")] общественная строка Season {получить; задавать; } Страны Публичный список {получить; задавать; } Публичный список AuditTypes {получить; задавать; } Публичный список Офисы {получить; задавать; } Список AuditList общественности {получить; задавать; }} Это сервис, получить данные выберите список и создает списки для связывания AuditViewModelService общественного класса: IAuditViewModelService {общественного Список GetAuditTypes () {список вара = нового список {нового SelectListItem {Text = _sharedLocalizer.GetLocalizedString ( «Выбор»), значение = "0", Selected = истина}}; Еогеасп (AuditType элемент в Enum.GetValues ​​(TypeOf (AuditType))) {list.Add (новый SelectListItem {Текст = _enumLocalizer.GetLocalizedString (item.ToString ()), значение = ((INT) элемент) .ToString ()}) ; } Возвращать список; } Список GetCountries общественного () {список вара = новый список {нового SelectListItem {Text = _sharedLocalizer.GetLocalizedString ( "Выбор"), Value = "0", Selected = истина}}; list.AddRange (_countryRepository.GetAll () ToList () ToSelectListItemList ( "Name")..); вернуться список; } Список GetOffices общественного () {список вара = новый список {нового SelectListItem {Text = _sharedLocalizer.GetLocalizedString ( "Выбор"), Value = "0", Selected = истина}}; list.AddRange (_officeRepository.GetAll () ToList () ToSelectListItemList ( "Name")..); вернуться список; }} Это выбрать входы часть вида Выбрать Выбрать Выбрать
ibubi
1

голосов
1

ответ
77

Просмотры

Сессия Магазин IQueryable в HttpContext

Я проникаю проект от Net MVC в MVC Ядра 2. Как установить IQueryable в Sessions? В Net MVC это был следующий, общественный ActionResult CurrentOwners_Read ([DataSourceRequest] DataSourceRequest запрос, внутр PropertyID) {если (PropertyID == 0) {певд ArgumentNullException ( "PropertyID"); } IQueryable allResult = (IQueryable) HttpContext.Session.GetString (_currentOwnersResult) .AsQueryable (); если (allResult == NULL) {PropertyOwnerManager propertyOwnerManager = новый PropertyOwnerManager (); allResult = propertyOwnerManager.GetPropertyOwnershipSummary (PropertyID) .AsQueryable (); Session.Add (_currentOwnersResult, allResult); } Последняя линия выше дает ошибку: Имя «Session» не существует в текущем контексте _currentOwnersResult является строка AllResult является IQueryable При попытке преобразовать в MVC Ядра, следующий не работает, либо HttpContext.Session.SetString (_currentOwnersResult, allResult); Код ошибки: не удается преобразовать из «System.Linq.IQueryable» в «строка»
Joe Smith
1

голосов
1

ответ
57

Просмотры

Почему библиотеки классов Бритвы UI построена как .NET Standard, а не в ядре .Net

Я создал библиотеку классов бритвы в основном .NET-приложении. библиотека построена как .NET Standard и основной веб-проекта и библиотеки других классов, построенных в .Net ядра 2.2, когда я пытаюсь добавить ссылку на мою бритву библиотеки классов, я получаю эту ошибку: проект не совместим с сеткой стандарт 2,0 я изменил целевую рамку в моей бритве библиотеке классов из [netstandard2.0]: в [netcoreapp2.2]: и все работает отлично, я знаю, что стандарт .Net позволяет библиотекам классов бритвы предназначаться .Net основных приложений и .Net основные рамочные приложения, но я также знаю, что библиотека классов бритвы является особенностью .Net ядер 2.1 Вопроса: Мне нужно знать, почему это библиотека классов бритвы построена как .NET Standard, а не в ядре .Net, и я должен изменить все мои библиотеки классов для .Net сердечника 2, чтобы иметь возможность добавлять ядро ​​.Net библиотеки классов в качестве ссылки?
Alaaeddine HFIDHI
1

голосов
1

ответ
199

Просмотры

Пакет 'Faker.Net 1.0.3' был восстановлен с помощью '.NETFramework, Version = v4.6.1' вместо целевого проекта рамки' .NETCoreApp, Version = v2.0'

Я новичок в основных .NET инструментов и просто столкнулся с проблемой при выполнении следующей команды; Я могу видеть, что это только предупреждение, но это не создает «публиковать» папку даже с «Суд DotNet публиковать -о / опубликовать» DotNet публиковать -о / публиковать Как вы можете видеть, что есть не публиковать папки / дома / Joel / рабочее пространство / жерех (копия) /api/api.csproj: предупреждение NU1701: 'Faker.Net 1.0.3' пакет был восстановлен с помощью '.NETFramework, Version = v4.6.1' вместо целевого проекта рамки' .NETCoreApp, Version = v2.0 ». Этот пакет не может быть полностью совместим с вашим проектом. Microsoft (R) Сборка двигателя версии 15.4.8.50001 для .NET ядра Copyright (C) корпорации Microsoft. Все права защищены. / Главная / Joel / рабочее пространство / осина (копия) /api/api.csproj: предупреждение NU1701: Пакет 'Faker.Net 1.0.3' был восстановлен с помощью '.NETFramework, Version = v4.6.1' вместо целевого проекта рамки' .NETCoreApp, Version = v2.0' . Этот пакет не может быть полностью совместим с вашим проектом. апи -> / дома / Joel / рабочее пространство / осина (копия) /api/bin/Debug/netcoreapp2.0/api.dll /usr/share/dotnet/sdk/2.0.2/Sdks/Microsoft.NET.Sdk/build /Microsoft.NET .Publish.targets (67,5): ошибка MSB3191: Невозможно создать каталог "/ publish2 /". Доступ к пути «/ publish2 /» отказано. [/ Дома / Joel / рабочее пространство / осина (копия) /api/api.csproj] Этот пакет не может быть полностью совместим с вашим проектом. апи -> / дома / Joel / рабочее пространство / осина (копия) /api/bin/Debug/netcoreapp2.0/api.dll /usr/share/dotnet/sdk/2.0.2/Sdks/Microsoft.NET.Sdk/build /Microsoft.NET .Publish.targets (67,5): ошибка MSB3191: Невозможно создать каталог "/ publish2 /". Доступ к пути «/ publish2 /» отказано. [/ Дома / Joel / рабочее пространство / осина (копия) /api/api.csproj] Этот пакет не может быть полностью совместим с вашим проектом. апи -> / дома / Joel / рабочее пространство / осина (копия) /api/bin/Debug/netcoreapp2.0/api.dll /usr/share/dotnet/sdk/2.0.2/Sdks/Microsoft.NET.Sdk/build /Microsoft.NET .Publish.targets (67,5): ошибка MSB3191: Невозможно создать каталог "/ publish2 /". Доступ к пути «/ publish2 /» отказано. [/ Дома / Joel / рабочее пространство / осина (копия) /api/api.csproj]
pelican
1

голосов
0

ответ
175

Просмотры

CORS проблема с окта - AngularJS контроллер вызова контроллера .NET ядра

Я в настоящее время есть веб-приложение .NET Core 2, который служит копирование данных в веб-интерфейсе с помощью AngularJS 1.6.6 вызовов на бэкэнд API. Когда пользователь вводит первую страницу сайта (index.html), AngularJS контроллер делает HTTP Get, чтобы захватить некоторые данные из базы данных, чтобы служить в таблице. Я пытаюсь интегрировать окт проверки подлинности, так что я могу поставить [Авторизовать] на этом .NET контроллере немедленно проверить подлинность. Тем не менее, я получаю следующее CORS связанных проблемы даже после включения CORS для происхождения URL на окте стороны сервера ([окт домена], [ключ] и [происхождения URL] было введено для защиты конфиденциальности): Cross-Origin перенаправление на https: // [окт домен] /login/login.htm?fromURI=%2Foauth2%2Fv1%2Fauthorize%2Fredirect%3Fokta_key%3 [ключ] отрицается Cross-Origin Resource Sharing политика: Происхождение https: . // [происхождение URL] не допускается Access-Control-Allow-Origin * Я интересно, если это что-то делать с потоком, из HTML - контроллер> AngularJS который делает HTTP Get -> .Net Core 2 контроллер с [Authorize] атрибут. FYI, если я позвоню контроллер непосредственно (например, API / контроллер), то Okta виджет придумают правильно. Дополнительный шаг от контроллера AngularJS к контроллеру .NET ядра я чувствую Мессинг что-то. Что я здесь отсутствует? NET контроллер Ядро Я чувствую Мессинг что-то. Что я здесь отсутствует? NET контроллер Ядро Я чувствую Мессинг что-то. Что я здесь отсутствует?
thunder chunky
1

голосов
1

ответ
62

Просмотры

Как сохранить состояние представления при навигации между экранами в ASP.NET

В приложении ASP.NET, я хотел бы состояние экрана должны быть сохранены при навигации между экранами. Так что, если на экране поиска AI для чего-то, и данные представлены на экране, я затем нажмите кнопку «Далее», чтобы перейти к экрану B, а затем нажмите кнопку «Назад», чтобы вернуться обратно к экрану A, параметры поиска и результаты должны быть вновь открыты , Есть ли из-из-коробки решения для этого, или общих структур для достижения этой цели?
user1340582
1

голосов
1

ответ
99

Просмотры

Почему мои почтовые данные все нуль при проводке с HttpClient?

Я пытаюсь разместить объект от клиента веб-приложения к CRUD API для указанного клиента. Я использую следующий код, чтобы сделать запись запроса: Var = respP ждет _client.PostAsync ( "апите / Лицо", новый StringContent (JsonConvert.SerializeObject (человек), Encoding.UTF8, "приложение / JSon")); И метод действия API является простым: [HttpPost] общественности асинхронной Task Post (Person человека) {_db.Add (человек); ждут _db.SaveChangesAsync (); } У меня есть точки останова на _db.Add (человек); и когда это хит, я вижу, у меня есть непустой экземпляр Person лично, но все поля значения по умолчанию, т.е. nullables равны нулю и т.д. Я настроил свой HttpClient следующим образом: _client.BaseAddress = _config [ "Апи: Url "]; _client.DefaultRequestHeaders.Clear (); _client.DefaultRequestHeaders.Accept.Add (новый MediaTypeWithQualityHeaderValue (»
ProfK
1

голосов
0

ответ
67

Просмотры

разрешения Refresh пользователя после удалены из роли

У меня есть проект, где я могу назначить пользователям роли. Моя проблема заключается в том, что при удалении пользователя из роли, пользователь сможет получить доступ к ресурсам, которые он не loger должен видеть. Единственный способ, чтобы обновить его разрешения, когда он выйти и снова войти в систему. Это проблема, потому что, когда я хочу, чтобы остановить пользователь от доступа к конфиденциальным данным, я не могу это сделать, потому что рамки кэшировать его разрешение. Разрешения не будут обновляться, даже если перезапустить приложение. Есть ли способ, чтобы очистить пользователь кэшированных разрешения, когда я удалить его из роли или когда я добавляю его в ролях?
pitaridis
1

голосов
1

ответ
232

Просмотры

Asp.net Web API ядра 2 и Сваггер при добавлении [Routing] атрибут, Response Content Type '* / XML' исчезает

Я использую Asp.net web.api ядро ​​2.0 и Swashbuckle 1.1.0. Входные и Ouput XmlSerializer был добавлен. При добавлении [Route] атрибут действия, чванство UI Response тип содержимого «текст / XML» или «приложение / XML» удаляется из списка опций. Любые идеи, почему это встречающееся? [HttpGet ( ".... ")] общественность асинхронной задачи Get (..) [HttpGet] [Маршрут (" ByFilter")] общественный асинхронном Task GetByFilter (...) С уважением Floyd
Floyd
1

голосов
1

ответ
710

Просмотры

Web-API Посылает сбежавшие строки

Я мастерить вокруг с .NET Ядром 2.1.4 и проектом Web-API. Мой код содержит некоторые жёстко прописанные фиктивные данные, в виде обычных или стенографических строковых литералов. В любом случае, результат выглядит так же, независимо от того, какого рода буквального я. строка STATUS1 = "{\" ID \ ": \" 7А \ "\ "Статус \": \ "\ доступной"}"; строка = @ СОСТОЯНИЕ 2 "{" "ID" ":" "7" " "" Статус "": "" доступен ""}"; Я возвращаю их, вызвав функцию: Ok IActrionResult результат = Ok (STATUS1); Я использовал тот же тестовый проект несколько месяцев назад с .NET 1.1 Ядра и все работало нормально. Возвращаемый результат выглядеть в следующем фрагменте коды и установлены мои потребности в реагировании с правильной строкой JSON для демонстрационных целей. { "ID": "7А", "Статус": «Доступно»} После обновления до Dotnet сердечника 2, сервер возвращает ту же строку, но с дополнительными двойными кавычками и избежать символов, как вы можете увидеть ниже. «{\» ID \ «: \» 7А \ «\„Статус \“: \„доступны \“}» Это, кажется, связано с возвращением Web API спасся JSON Я хотел бы понять, почему это происходит и что механизм контролирует это.
user2154065
1

голосов
1

ответ
110

Просмотры

changes not being applied to minified file

Я добавил этот CSS высокого {цвета фона: красный; } {Среднего цвета фона: желтый; } Низкого {фонового цвета: WhiteSmoke; } До Wwwroot \ CSS \ site.css, и когда я опубликовать приложение с DotNet публиковать, я могу видеть уменьшенную файл CSS в настоящее время ссылки, но она не содержит эти новые стили. bundleconfig.json // Настройка комплектации и Минимизация для проекта. // Более подробная информация на https://go.microsoft.com/fwlink/?LinkId=808241 [{ "имя_выходного_файл": "Wwwroot / CSS / site.min.css", // Массив относительных путей ввода файлов. Подстановка шаблонов, поддерживаемые "inputFiles": [ "Wwwroot / CSS / site.css"]}, { "имя_выходного_файл": "Wwwroot / JS / site.min.js", "inputFiles": [ «Wwwroot / JS / site.js "], // При необходимости укажите параметры минификация «Минимизировать»: { «включено»: правда, «renameLocals»: Истинные}, // Необязательно генерировать .map файл «sourceMap»: ложь}] Почему это происходит? Как я могу гарантировать, что это расслоение конфиг применяется?
Bassie
1

голосов
1

ответ
331

Просмотры

Swashbuckle не может изменить index.html (CustomAsset не существует)

Я использую Swashbuckle для моего основного проекта ASP.NET, и я хочу изменить мой index.html, и я увидел эту страницу: https://github.com/domaindrivendev/Swashbuckle/tree/swagger_2.0#provide-your-own -indexhtml, что объясняет, как именно это сделать, но дело в том, что метод метод CustomAsset, кажется, не существует больше. Я могу использовать метод InjectOnCompleteJavascript и InjectStylesheet без каких-либо проблем, но нет CustomAsset включить мою страницу HTML. Вы знаете, если есть другой способ заменить чванства UI? Спасибо, Клод
Claude Roy
1

голосов
0

ответ
54

Просмотры

asp.net ядро ​​работает на грузчиком, не кодирующие латинские символы правильно

Asp.net ядро ​​2.0 Web API работает в контейнере Докер с использованием официального Microsoft Docker изображения (Microsoft / aspnetcore) Код: [HttpGet] [Маршрут ( "тест")] общественность IActionResult Get () {вернуться Ok ( "СЕДАН"); } Проблема: Слово Sedan будет закодирован в Sed�n при работе в Докер. В Windows он будет закодирован в Sedán, который является правильным
Fahad
1

голосов
0

ответ
261

Просмотры

Анти вопрос Подделка печенье после SignOut из IdentityServer4

Я разрабатываю решение с IdentityServer4 и ASP.NET Ядром 2.0.5. После входа в систему с помощью HttpContext.SignOutAsync, пользователь может перейти на форму входа в систему снова и попытаться войти в систему. Тем не менее, сообщение об ошибке я получаю после того, как форму поста в консоли заключается в следующем: antiforgery печенье маркера и запросить маркер не совпадают. Я перепробовал все варианты я смог найти в Интернете. Моя конфигурация выглядит следующим образом: IdentityServer4 использует сертификат подписи (самоподписанного) ASPNET настроен на использование данных, защита от Azure Blob Storage Вход осуществляется с HttpContext.SignInAsync Logout выполняется с HttpContext.SignOutAsync Иногда после второй или третий раз попытаться Логин, он проверяет antiforgery печенье успешно. Я выйти из системы и перейти на страницу входа, вопрос всплывает снова. Я отчаянно пытается разные вещи.
Gorgi Rankovski
1

голосов
1

ответ
177

Просмотры

Установить CookieAuthentication перенаправлять путь

Я хочу только пользователи с LocationId, чтобы иметь возможность Acces мои методы контроллера. На странице индекса местоположения пользователей, введите их идентификатор, который сохраняется в куки. Если пользователь пытается Acces страницы без, пользователь должен быть redirecteded на страницу индекса местоположения. Это почти работает, но у меня есть проблемы с перенаправлением. Я использую ASP NET ядро ​​2.0. Мой контроллер выглядит следующим образом [AllowAnonymous] общественный класс LocationController: Controller {... [HttpGet] публичный индекс IActionResult () {вернуться View (); } [HttpPost] общественных асинхронной Index Task (строка ID) {ILocationModel местонахождения = ждут _repo.GetLocation (ID); если (место! = NULL) {вар претензия = новый список {новая Претензия (ClaimTypes.Name, location.id)}; вар claimsIdentity = новые ClaimsIdentity (претензии, CookieAuthenticationDefaults.AuthenticationScheme); ждут HttpContext.SignInAsync (CookieAuthenticationDefaults.AuthenticationScheme, новый ClaimsPrincipal (claimsIdentity)); вернуться RedirectToAction ( "Индекс", "магазин"); } Вернуть RedirectToAction ( "", ""); } И в configureServices () в запуске у меня есть: services.AddAuthentication (CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie (опции => {options.ReturnUrlParameter = ""; options.AccessDeniedPath = "/ Location / Index /"; options.LoginPath = " / местоположение / индекс "; options.LogoutPath = "/ Местонахождение / Выход";}); services.AddMvc (конфигурации => {Вар политика = новый AuthorizationPolicyBuilder () .RequireAuthenticatedUser () Строить (); config.Filters.Add (новая AuthorizeFilter (политика)); }); Когда я получить доступ к странице несанкционированным я получаю перенаправлены на HTTP: // локальный: 52525252525252FLocation% 2525252525252525252525252525252525252FIndex% 2525252525252525252525252525252525253F% 2525252525252525252525252525252525253D% 252525252525252525252525252525252525252FLocation% 252525252525252525252525252525252525252FIndex% 252525252525252525252525252525252525253F% 252525252525252525252525252525252525253D% 25252525252525252525252525252525252525252FLocation% 25252525252525252525252525252525252525252FIndex колдунья вызывает Ошибка HTTP 404,15 - Not Found Модуль фильтрации запросов настроен на отклонить запрос, где строка запроса слишком долго. Почему все это добавляется к пути? 15 - Not Found Модуль фильтрации запросов настроен на отклонить запрос, где строка запроса слишком долго. Почему все это добавляется к пути? 15 - Not Found Модуль фильтрации запросов настроен на отклонить запрос, где строка запроса слишком долго. Почему все это добавляется к пути?
lst
1

голосов
0

ответ
209

Просмотры

Сервер идентификации 4 на тот же URL, как MVC клиент

Можно ли запустить Сервер идентификации 4 на том же URL, как клиент MVC, в том же хосте с помощью Nginx? Например Сервер идентификации будет работать на локальный хост / ID / и Mvc клиента на локальном хосте / апите В MVC клиента есть порт 5000. Я могу легко изменить это HTTP: // локального / идентификатор services.AddAuthentication (опции => {options.DefaultScheme = "Cookies"; options.DefaultChallengeScheme = "РСИН";}) .AddCookie ( "Cookies") .AddOpenIdConnect ( "РСИН", опции => {options.SignInScheme = "Cookies"; options.Authority = «HTTP: // локальный: 5000" ; //
ferdinand
1

голосов
1

ответ
222

Просмотры

Проблемы сочетающих JWT Bearer удостовер Web API с Asp.Net Ядром 2.0

У меня есть следующие настройки: Web API с JWT Bearer Auth Asp.Net MVC Ядро 2,0 обработка идентичностей и предоставление просмотр AngularJS - клиент запрашивает Угловая JWT маркер и передать его на subsequents HTTP запросов. AJAX звонки работают нормально. Проблема заключается в том, если я прошу действие MVC с [Авторизоваться] через мой браузер, что маркер явно не подтвержден, потому что нет печенья и нет заголовка аутентификации. Как бы я идти о реализации функциональных возможностей для входа в аккаунт, чтобы не-Ajax запросов? Я полагаю, мне нужно, чтобы реализовать какую-то проверку подлинности Cookie, но я надеялся избежать этого после переезда в JWT. Я знаю, что это, вероятно, может быть решено за счетом миграции в СП, но мне было интересно, если есть способ, чтобы сохранить сегодняшнее решение с MVC, выступающий видом - по старой привычке :(
Kim Raaness
1

голосов
0

ответ
156

Просмотры

DotNet ядро ​​2.0 - программно прикрепить VS2017 отладчик к процессу

В моем приложении ядра DotNet 2.0 Я повторно запустить то же приложение в другом процессе (с некоторыми другими аргументами) в некоторой точке. Я хочу, чтобы иметь возможность программно прикрепить текущий Visual Studio (2017) отладчик к новому процессу. Вот пример того, как это делается в полном остов, но для начала метод Marshal.GetActiveObject не кажется, существует. Есть другой способ для достижения этой цели в Dotnet ядре 2.0? Или это просто не возможно?
Tom
1

голосов
1

ответ
188

Просмотры

строковые значения Запретить время сохраняется в памяти процесса - Json.NET и .NET Ядро WebAPI

У меня есть API, написанный на .NET 2.0 Ядро для выдачи JSON Web лексем (JWTs). Это делается с помощью запроса POST с очень простой моделью. общественного класса TokenRequest {общественности строка Имя пользователя {получить; задавать; } Публичная строка Пароль {получить; задавать; }} Сведения о API не важны - цель здесь, чтобы предотвратить пароль из оставшихся в памяти после выполнения запроса. Давайте предположим, что я могу обрабатывать строку надежно, как только это в - проблема, которую я пытаюсь решить это предотвращение Json.NET от присвоения значения в строку и, таким образом, заставляя его быть интернирован. EDIT: Как указано в ответе строка не интернирован здесь, которая была моя ошибка. Тем не менее, мое беспокойство о том, что пароль может торчать в памяти в течение длительного времени, таким образом, что я могу» управление т (строка), а не так, как я могу контролировать (массив байтов, который я мог бы обнулить, когда я закончил с ним). Я удалил дополнительные ссылки на интернирование для ясности. Чтобы проверить, я делал запросы и использовать WinDbg, чтобы определить, является ли значение в памяти в виде строк. Моя оригинальная модель не будет работать, как-то, потому что он использует строку - даже если ничего в моем коде не ссылается на пароль, только тот факт, что это десериализации заканчивает ввод строки в памяти процесса, пока не будет собран сборщиком мусора. Зная, что я попробовал эту модель: общественный класс TokenRequest {общественный строковое имя пользователя {получить; задавать; } Общественного байт [] Пароль {получить; задавать; }} Это на самом деле работает - но проблема в том, что пароль должен теперь быть в кодировке Base64. Я не мог» т найти либо исходное значение base64 или декодированное значение в памяти в виде строки, которая была хорошей, но с паролем в кодировке base64 является нежелательным. Я посмотрел на исходный код JsonTextReader и это имеет смысл, почему это работает - ReadAsBytes чтения с использованием полукокса массивы и массивы байтов, никогда строки. Но, к сожалению, требование base64 жестко закодировано в EDIT:. При дальнейшем рассмотрении, пароли, возможно, все еще присутствует в памяти как массивы байтов, которые не были GCed - массивы байтов я не имею никакого контроля над, потому что они внутренними для Json .NET Итак, я попробовал обычай JsonConverter вместо: общественный класс TokenRequest {общественная строка Имя пользователя {получить; задавать; } [JsonConverter (TypeOf (ByteConverter))] общественный байт [] Пароль {получить; задавать; }} Это страдает та же проблема, как оригинал - JSon. NET заканчивается отправка значения через строку при разборе его для преобразователя, так что даже когда метод ReadJson моего преобразователя был не более чем возвращать новые байты [] {} ;, значение все еще могут быть найдены в памяти. Заключение Я хотел бы получить строковое значение открытого текста в .NET ядро ​​WebAPI, и удалить его из памяти после выполнения запроса, без необходимости ждать для сбора мусора. Какие работы, но нежелательно, используя байты [] (с оговоркой, он должен быть в кодировке Base64) Что не работает, используя любой тип JsonConverter (Json.NET внутренне использует строку) Использование NGEN в любой емкости (это могло бы работать, но это не вариант) Заключение Я хотел бы получить строковое значение открытого текста в .NET ядро ​​WebAPI, и удалить его из памяти после выполнения запроса, без необходимости ждать для сбора мусора. Какие работы, но нежелательно, используя байты [] (с оговоркой, он должен быть в кодировке Base64) Что не работает, используя любой тип JsonConverter (Json.NET внутренне использует строку) Использование NGEN в любой емкости (это могло бы работать, но это не вариант) Заключение Я хотел бы получить строковое значение открытого текста в .NET ядро ​​WebAPI, и удалить его из памяти после выполнения запроса, без необходимости ждать для сбора мусора. Какие работы, но нежелательно, используя байты [] (с оговоркой, он должен быть в кодировке Base64) Что не работает, используя любой тип JsonConverter (Json.NET внутренне использует строку) Использование NGEN в любой емкости (это могло бы работать, но это не вариант)
Jason E
1

голосов
0

ответ
877

Просмотры

Альтернатива Response.Redirect в ASP.NET Ядра

Я работаю с веб-приложением ядра промежуточного .net, я пытаюсь перенаправить ООН авторизованный пользователь / аккаунт / Логин, я пытаюсь использовать следующий код, который не работает нормально. общественного асинхронной статической силы Athenticate (HttpContext контекст) {если (/ * неавторизованный пользователь * /) {// уничтожить сеанс Перенаправление пользователя на страницу входа в context.Response.Redirect ( "/ Account / Login"); }}
Saif
1

голосов
0

ответ
404

Просмотры

Ошибка после развертывания asp.net ядро ​​угловую в IIS Не удается найти модуль «Сеть САШ-Webpack» в Function.Module._resolveFilename

Я создаю ASP.net Сердечник с угловым проектом. Когда я запускаю его из моей визуальной студии я не получаю ошибки, но когда я публикую и развертывание на машину с IIS, я получаю ошибку ниже. Я установил «.NET Core, Windows Server хостинг пакет» и nodeJS. есть что-нибудь еще, что мне не хватает? NodeInvocationException: Webpack DEV промежуточного слоя не удалось из-за ошибки при загрузке "Сеть САШ-WebPack. Ошибка: Ошибка: Не удается найти модуль 'Сеть САШ-Webpack' в Function.Module._resolveFilename (module.js: 538: 15) в Function.Module._load (module.js: 468: 25) в Module.require (модуль. JS: 587: 17) при (требуется внутренний / module.js: 11: 18) на объекте. (C: \ Windows \ TEMP \ hnfsrsh3.ahy: 83: 19) при webpack_require (C: \ Windows \ TEMP \ hnfsrsh3.ahy: 20: 30) при createWebpackDevServer (C: \ Windows \ Temp \ hnfsrsh3.ahy: 62: 26) в C: \ Windows \ TEMP \ cbaevvou.1oi: 114: 19 в IncomingMessage. (C: \ Windows \ TEMP \ cbaevvou.1oi: 133: 38) в emitNone (events.js: 106: 13) Текущий каталог: C: \ сайт спасибо
kumar
1

голосов
0

ответ
81

Просмотры

GitLab - Докер - WindowsContainer - ASP.Net ядро ​​опубликовать сообщение об ошибке, когда тег Release

Когда я бегу (внутри Dockerfile) RUN DotNet публиковать --output / приложение / процесс / сборки запускается успешно. Но когда я бегу с Release: RUN DotNet публиковать --output / приложение / -c Release Я получаю ошибку в GitLab консоли: C: \ Source \ Web.Core \ Web.Core.csproj (34,5): ошибка MSB3030: Могли не копировать файл "C: \ источник \ Web.Core \\ Bin \ Debug \ netcoreapp2.0 \ Web.Core.dll", потому что он не был найден. Web.Library.Tests -> C: \ приложение \ Команда 'Cmd / S / C DotNet публиковать --output / приложение / -с Release' вернулся ненулевой код: 1 Есть ли кто-нибудь какой-либо ключ, зачем строить процесс не удалось с -c версии? То же команда DotNet публиковать --output запустить / приложение / -с Release успешно с помощью Windows PowerShell. Мой GitLab бегун и Docker установлены на моем Windows 10 Pro. Странно то, что он пытается скопировать из Bin \ Debug. Я бы ожидать от бина \ Release. Я понимаю, файл не может быть найден в Debug. Но я не могу понять, что я перепутались в Dockerfile. Dockerfile: # Этап 1 из Microsoft / aspnetcore-сборки: 2,0 AS строитель WORKDIR / источник # кэши восстановление результата путем копирования файла csproj отдельно COPY Web.sln ./src/aspdocker/Web.sln COPY Web.Library / Web.Library.csproj ./src/aspdocker/Web.Library/ COPY Web.Core / Web.Core.csproj ./src/aspdocker/Web.Core/ COPY Web.Hosting/Web.Hosting.csproj ./src/aspdocker/Web.Hosting/ COPY Web.Library.Tests / Web.Library.Tests.csproj ./src/aspdocker/Web.Library.Tests/ COPY Web.Core.Tests / Web.Core.Tests.csproj ./src/aspdocker/Web.Core. тесты / # кэшей восстановления результата путем копирования файла csproj отдельно RUN DotNet восстановления ./src/aspdocker/Web.sln # копирует остальную часть вашего кода COPY. , RUN DotNet публиковать --output / приложение / -с Release #run DotNet публиковать --output / приложение / # Этап 2 # с Microsoft / aspnetcore: 1.1.2 майкрософт / aspnetcore: 2,0 WORKDIR / приложение COPY --from = строитель / приложение ПОДВЕРГАТЬ 5000 / TCP Entrypoint [ "DotNet", "Web.dll"]
Makla
1

голосов
1

ответ
222

Просмотры

System.Net.Http.WinHttpException: отказано в доступе?

Я реализовал два САШ ядра WebAPI услуг. Первая служба (.net ядро) вызывает вторую услугу (.NET 461) с использованием restsharp: открытый статический RestResponse Execute (этот клиентом IRestClient, запрос IRestRequest) {уага taskCompletion = новый TaskCompletionSource (); client.ExecuteAsync (запрос, г => taskCompletion.SetResult (г)); Возвращение (RestResponse) (taskCompletion.Task.Result); } Обратите внимание на то, что задача вызывается синхронно с целью, следовательно, .Result в коде. Кроме того, этот метод называется олицетворением использования проверенного пользователя! Обе службы размещаются в IIS и настроены на использование Kerberos окна аутентификации. Обе службы работают как администраторы. Только первый сервис использует протокол HTTPS другие один только HTTP, но оба используют тот же домен связывания URL. Теперь, когда я отладки обе службы на моей локальной среде разработки все работает просто отлично. Перемещение кода в IIS, я получаю следующее исключение: Ошибка возникает при вызове метода Execute выше. Я проверил журнал событий, если возможно, Kerberos имеет проблему, но не могу видеть любые связанные с Kerberos вопросов. В моих файлах журнала я также могу видеть, что вторая услуга не работает какой-либо код, то вызов не получает, что далеко. Может кто-то пожалуйста мне точку в правильном направлении. Я понятия не имею, что может привести к этой проблеме. Обновление Я пытался позвонить обе службе с Firefox из-за пределы сервера, который работал несколько раз, но после перезагрузки сервера он не будет работать больше. Очень странное поведение. Эта ошибка возникает при вызове метода Execute выше. Я проверил журнал событий, если возможно, Kerberos имеет проблему, но не могу видеть любые связанные с Kerberos вопросов. В моих файлах журнала я также могу видеть, что вторая услуга не работает какой-либо код, то вызов не получает, что далеко. Может кто-то пожалуйста мне точку в правильном направлении. Я понятия не имею, что может привести к этой проблеме. Обновление Я пытался позвонить обе службе с Firefox из-за пределы сервера, который работал несколько раз, но после перезагрузки сервера он не будет работать больше. Очень странное поведение. Эта ошибка возникает при вызове метода Execute выше. Я проверил журнал событий, если возможно, Kerberos имеет проблему, но не могу видеть любые связанные с Kerberos вопросов. В моих файлах журнала я также могу видеть, что вторая услуга не работает какой-либо код, то вызов не получает, что далеко. Может кто-то пожалуйста мне точку в правильном направлении. Я понятия не имею, что может привести к этой проблеме. Обновление Я пытался позвонить обе службе с Firefox из-за пределы сервера, который работал несколько раз, но после перезагрузки сервера он не будет работать больше. Очень странное поведение. Я понятия не имею, что может привести к этой проблеме. Обновление Я пытался позвонить обе службе с Firefox из-за пределы сервера, который работал несколько раз, но после перезагрузки сервера он не будет работать больше. Очень странное поведение. Я понятия не имею, что может привести к этой проблеме. Обновление Я пытался позвонить обе службе с Firefox из-за пределы сервера, который работал несколько раз, но после перезагрузки сервера он не будет работать больше. Очень странное поведение.
MUG4N
1

голосов
0

ответ
186

Просмотры

Как создать веб-апи JWT и применять в веб-приложений ASP.NET 2.0 ядра?

В настоящее время я занимаюсь разработкой веб-приложений с использованием ASP.NET 2.0 ядро ​​и мне нужно применить JWT аутентификации веб-API в моем веб-приложение. Из моих исследований, я нашел примеры для asp.net ядра 1.0, но не мог найти для ASP.NET 2.0. В чем разница между JWT в ядре 2.0 и Ядра 1.0? Есть ли какой-либо ссылки, которые я могу обратиться? Заранее спасибо.
fai
1

голосов
2

ответ
125

Просмотры

Null viewmodel passed to controller

У меня есть базовый «создать» вид scaffolded от модели предметной области, поэтому набирают модель @model TblProduct ... ... Я пытаюсь добавить функциональность и использовать модель представления вместо этого, и я начинаю с очень простой ViewModel только с этой доменной модели в нем: класс ProductViewModel общественного {общественного TblProduct P {получить; задавать; }} Теперь я изменил «создать» вид использовать модель представления вместо @model ProductViewModel ... ... Так что я ожидаю, что модель действительна при условии, что (помимо редактирования имен переменных) Я заселение всего одни и те же поля из формы, и эффективно никаких других полей, которые были добавлены к модели. Ошибка возникает, когда я отправляю форму, я передать параметр ProductViewModel методе создания, но на осмотре является недействительным. Однако ModelState.IsValid верно. Таким образом, код пытается записать в БД и терпит неудачу. общественного асинхронной Задача Создать ([Bind ( "ID, исполнитель, ProductTitle ... (длинный список удален) ...] ProductViewModel productAndItems) {вар прод = productAndItems.P; если (ModelState.IsValid) {_context.Add (прод) ; ... FAIL Любая идея, что я должен быть проверка здесь - то, что мне не хватает Как я могу получить вид (напечатанный к ViewModel), чтобы передать данные модели к контроллеру А если это нуль, как можно ModelState.IsValid? быть правдой? в приведенном выше примере я отлажено, параметр передается в productAndItems равна нулю. FAIL Любая идея, что я должен быть проверка здесь - то, что мне не хватает? Как получить вид (напечатанный к ViewModel), чтобы передать данные модели в контроллер? И если это нуль, как может ModelState.IsValid быть правдой? В приведенном выше примере я отлажено, параметр передается в productAndItems равна нулю. FAIL Любая идея, что я должен быть проверка здесь - то, что мне не хватает? Как получить вид (напечатанный к ViewModel), чтобы передать данные модели в контроллер? И если это нуль, как может ModelState.IsValid быть правдой? В приведенном выше примере я отлажено, параметр передается в productAndItems равна нулю.
codePenny
1

голосов
0

ответ
205

Просмотры

asp.net ядро ​​2.0 не может загрузить PrecompiledViews.dll при публикации

Я refered к; ссылка 1 ссылка 2 Но никто из них не помогло. Проблема заключается в том, что это работает хорошо в моей машине развития. Когда я публикую на Azure службы приложений, это дает ниже исключения. Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: необработанное исключение произошло: Не удалось загрузить файл или сборку «FCL.Products.DriveSmart.Web.PrecompiledViews. , , System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «FCL.Products.DriveSmart.Web.PrecompiledViews Я пытался изменить файл проекта в соответствии с 2-го по ссылке выше, но все тот же. Я убедился, что файл существует с другими узлами. Тогда я только что создал образец проекта, который генерируется VS2017 и просто опубликовал его. Это работает, и это также имеет DLL PreCompiledViews. Таким образом, я не могу понять, что здесь происходит.
user2058413
1

голосов
1

ответ
785

Просмотры

Несколько соединений SignalR в ABP

У меня есть проект, который использует ASP.NET Нулевой шаблон. Я успешно интегрировали SignalR в мое решение и уведомление в режиме реального времени работает отлично. То, что я хочу добавить еще один хаб моего решения или расширить существующий SignalR ступицу, чтобы добавить больше к нему. В документе SignalR AspNetCore интеграции, он говорит, чтобы добавить следующее в файл Startup.cs: app.UseSignalR (маршруты => {routes.MapHub ( "/ signalr"); // по умолчанию ступица routes.MapHub ( "/ hitchHub" ); // мой хаб}); Проблема, однако, является клиентом, где мне нужно, чтобы установить соединение! В SignalRAspNetCoreHelper.ts, он устанавливает URL использовать «/» signalr хаб (по умолчанию один). экспорт класс SignalRAspNetCoreHelper {статический initSignalR (): пустота {вар encryptedAuthToken = новый UtilsService () getCookieValue (AppConsts.authorization.. encrptedAuthTokenName); abp.signalr = {Autoconnect: истинно, подключение: неопределенные, концентраторы не определено, QS: AppConsts.authorization.encrptedAuthTokenName + "=" + encodeURIComponent (encryptedAuthToken), URL: AppConsts.remoteServiceBaseUrl + / signalr '}; jQuery.getScript (AppConsts.appBaseUrl + /assets/abp/abp.signalr-client.js '); }} Если я изменяю «/ signalr» к «/ hitchHub», он отлично работает. Но я хочу, как в моем приложении! Я попытался создать помощник для моего собственного хаба похожего на SignalRAspNetCoreHelper.ts и инициализировать его в app.component.ts: ngOnInit (): недействительные {если (this.appSession.application && this.appSession.application.features [» SignalR ']) {если (this.appSession.application.features [' SignalR.AspNetCore ']) {SignalRAspNetCoreHelper.initSignalR (); HitchHubHelper.initHitchHub (); }}} Но, кажется, что abp.signalr не может иметь несколько соединений с различными концентраторами. Так, в принципе у меня есть 2 вопроса: Есть ли способ, что я мог бы добавить функции моего собственного концентратора по умолчанию AbpCommonHub? Таким образом, я мог бы просто изменить файл abp.signalr-client.js. Если выше, невозможно, как я могу иметь несколько концентраторов на abp.signalr быть доступны в любом месте в пределах моего приложения? Есть ли способ, что я мог бы добавить функции моего собственного концентратора по умолчанию AbpCommonHub? Таким образом, я мог бы просто изменить файл abp.signalr-client.js. Если выше, невозможно, как я могу иметь несколько концентраторов на abp.signalr быть доступны в любом месте в пределах моего приложения? Есть ли способ, что я мог бы добавить функции моего собственного концентратора по умолчанию AbpCommonHub? Таким образом, я мог бы просто изменить файл abp.signalr-client.js. Если выше, невозможно, как я могу иметь несколько концентраторов на abp.signalr быть доступны в любом месте в пределах моего приложения?
Mohammad Shadmehr
1

голосов
1

ответ
330

Просмотры

Как добавить сборок в ASP.NET ядра

Я использую MapXtreme в приложении ASP.NET. Теперь в другом применении Asp.net Core 2, я хочу использовать MapXtreme. Но не знаю, как добавить сборки и настройки MapXtreme в моем веб-проекта ASP.NET CORE. Найти прикрепленный скриншот web.config приложения asp.net (см AppSettings и сборок раздел) .Я хочу использовать те же параметры в ASP.NET Web Project CORE 2. Любая идея, где добавить это в веб-проект ASP.NET CORE?
M.Sharma
1

голосов
0

ответ
473

Просмотры

Net core 2.0 error running Web Api “Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]”

Я делаю в 2.0 приложения Net Core. У меня есть несколько веб-Апи проекты, которые я начал из командной строки .. C: \ отлаживать directore \ DotNet prj.dll Это запускает службу на портах, указывающих на файл программы государственной статической IWebHost BuildWebHost (строка [] арг) => WebHost.CreateDefaultBuilder ( арг) .UseStartup () .UseKestrel (опции => {options.Listen (IPAddress.Loopback, 5000); options.Listen (IPAddress.Loopback, 5001);}) Строить (); Оказывается, этот экран Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] Профиль пользователя доступно. Использование 'C: \ Users \ l0658073 \ AppData \ Local \ ASP.NET \ DataProtection-Keys', как ключевое хранилище и Windows, DPAPI для шифрования ключей в покое. Хостинг среда: Производство Содержание корневой путь: C: \ Debug \ netcoreapp2.0 Теперь прослушивает: HTTP: //127.0.0.1:5000 Сейчас слушает: http://127.0.0.1:5001 И все работает нормально, но вдруг он перестал работать правильно .... Когда я запускаю проекты Он появляется только PS C: \ Debug \ netcoreapp2 +0,0> DotNet INOMSmartrouting.dll информация: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] профиль пользователя доступно. Использование 'C: \ Users \ l0658073 \ AppData \ Local \ ASP.NET \ DataProtection-Keys', как ключевое хранилище и Windows, DPAPI для шифрования ключей в покое. порты не появляется. Я вижу в диспетчере задач, и каждый процесс использует 25% Пор память. Что случилось? Что мне не хватает? Спасибо Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] Профиль пользователя доступно. Использование 'C: \ Users \ l0658073 \ AppData \ Local \ ASP.NET \ DataProtection-Keys', как ключевое хранилище и Windows, DPAPI для шифрования ключей в покое. порты не появляется. Я вижу в диспетчере задач, и каждый процесс использует 25% Пор память. Что случилось? Что мне не хватает? Спасибо Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [0] Профиль пользователя доступно. Использование 'C: \ Users \ l0658073 \ AppData \ Local \ ASP.NET \ DataProtection-Keys', как ключевое хранилище и Windows, DPAPI для шифрования ключей в покое. порты не появляется. Я вижу в диспетчере задач, и каждый процесс использует 25% Пор память. Что случилось? Что мне не хватает? Спасибо
Diego
1

голосов
0

ответ
121

Просмотры

Отображение, обновление и работы с претензиями в целом

При работе с претензиями в веб-приложениях (или любого типа приложения на самом деле) мы обычно используем типы претензий, чтобы найти и получить претензии либо из маркера или из хранилища данных. После работы с претензиями на какое-то время я полагаю, что это немного громоздким, чтобы иметь дело с типами, но не знаю, каковы альтернативы. Например, если мы должны были обновить объект пользователя из входящей модели представления или сообщений, мы просто делаем user.InjectFrom (VM) или пользователь = mapper.Map (VM), но и при работе с претензиями мне трудно приходится всегда использовать тип / имя, например UpdateClaim (JwtRegisteredClaimNames.Email, currentClaims, vm.Email) отсутствие отображения при рассмотрении претензий является проблемой для меня. Что такое правильный способ это обычно делается?
mare
1

голосов
0

ответ
626

Просмотры

DotNet сердечник 2: Сериализация делегатов не поддерживается на этой платформе

Я пытаюсь передать сферу (или это) к моему пользовательскому исключению, и показать его изящно. Мой код работает, пока я не добавил свойство возможности для пользовательского исключения. Я вижу, другие столкнулись с этой проблемой (link1, link2, link3), но не решение. Любое решение или обходной путь будет оценен. Спасибо. Мой заказ исключение: класс CustomException общественности: Exception {частный объект для чтения _scope; общественные CustomException (строка сообщение, объект сфера = NULL): основание (сообщение) {_scope = сфера; } Общественного переопределения недействительным (информация SerializationInfo, StreamingContext контекст) GetObjectData {info.AddValue ( "Сфера", _scope); base.GetObjectData (информация, контекст); }} Как использовать исключение: бросить новый InvalidCustomCapsBadSumException ( "Сообщение об ошибке здесь !, это); Startup.cs: услуги. AddMvc (конфигурации => {config.Filters.Add (TypeOf (ExceptionFilterAttribute));}). AddJsonOptions (х => {// игнорировать круговые петли при десериализации x.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;}); ExceptionFilterAttribute.cs: общественный класс ExceptionFilterAttribute: IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Exception = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) Добавить (TypeOf (ExceptionFilterAttribute)); }) AddJsonOptions (х => {// игнорировать круговые петли при десериализации x.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;.}); ExceptionFilterAttribute.cs: общественный класс ExceptionFilterAttribute: IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Exception = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) Добавить (TypeOf (ExceptionFilterAttribute)); }) AddJsonOptions (х => {// игнорировать круговые петли при десериализации x.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;.}); ExceptionFilterAttribute.cs: общественный класс ExceptionFilterAttribute: IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Exception = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) {// игнорировать круговые петли при десериализации x.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; }); ExceptionFilterAttribute.cs: общественный класс ExceptionFilterAttribute: IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Exception = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) {// игнорировать круговые петли при десериализации x.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; }); ExceptionFilterAttribute.cs: общественный класс ExceptionFilterAttribute: IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Exception = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Исключение = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) IExceptionFilter {общественного недействительными OnException (ExceptionContext контекст) {context.Result = новый BadRequestObjectResult (новый {Исключение = context.Exception}); }} Ошибка я получаю: необработанное исключение было брошено приложением. System.Runtime.Serialization.SerializationException: Сериализация делегатов не поддерживается на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) Сериализация делегатов не поддерживаются на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст) Сериализация делегатов не поддерживаются на этой платформе. на System.MulticastDelegate.GetObjectData (SerializationInfo информация, StreamingContext контекст)
Node.JS
1

голосов
3

ответ
1.9k

Просмотры

Как создать кнопку, которая будет идти на страницу бритвы при нажатии ( «Бритва страницы» в ядре Dotnet 2)

Я могу использовать вспомогательный тег якорь, чтобы перейти на другую страницу бритвы (от существующей страницы бритвы), например, это работает: Как я могу получить подобную вещь для работы, но и с помощью кнопки. Я пробовал: EditReport Но страница никогда не загружает. Я также попытался с помощью обработчика страниц с различными вариациями: и связанных с ними (в странице CS файла): публичный ActionResult OnEditReport (интермедиат идентификатор) {вернуться RedirectToPage ( «./ EditReport», идентификатор); }, Но этот метод никогда не вызывается (я также попробовал метод OnPostEditReport, но та же проблема именования Если это помогает, мой оригинальный непрофильные DotNet приложение работало нормально с:. Любая помощь было оценено.
Blingers
1

голосов
1

ответ
880

Просмотры

Asp.Net Core: порядок выполнения IAuthorizationFilter и аутентификации службы

Я уверен, реализации аутентификации и авторизации механизмов в приложении Web Api Asp.Net Core. Я использую JWT для аутентификации пользователей, сконфигурированной в: {. ... services.AddAuthentication (...) AddJwtBearer (...) ...} ConfigureServices (услуги IServiceCollection) (по аналогии с https://stackoverflow.com/a/ 45901894/1544054) эта услуга также заполнить HttpContext.User по данным JWT. Для авторизации я использую реализацию пользовательской RBAC, на основе класса AccessControlFilter: IAuthorizationFilter {общественного AccessControlFilter (строка разрешения) {...} общественных недействительный OnAuthorization (AuthorizationFilterContext контекст) {...}} (по аналогии с большим ответом на HTTPS: / /stackoverflow.com/a/41348219) Мне нужно, чтобы знать наверняка, что мой AccessControlFilter будет работать после службы аутентификации JWT, так что context.HttpContext. Пользователь уже заселен. (Я предполагаю, что порядок правильный и фильтры будут работать после службы, но я не мог найти нужную документацию.)
Aviko

Просмотр дополнительных вопросов

Связанные вопросы