Вопросы с тегами [httpcontext]

1

голосов
0

ответ
26

Просмотры

После перехода на другую команду сервер Foundation, я получаю System.Web.HttpException: "Ответ не доступен в этом контексте.

Код работает на нашем живом и разработки веб-сайта, но когда я пытаюсь запустить локально либо против моей локальной или разработки базы данных, я получаю ошибку: System.Web.HttpException: "Ответ не доступен в этом контексте. Я попытался запустить в прошлый выпуск, что я знаю работу. Это только начало происходит, когда наш код был перемещен на новый сервер Team Foundation. Я начинаю задаваться вопросом, является ли это установка в Visual Studio х. Я использовал окно Watch и проверяется правильная информация передается для района, действия и контроллера. URL, которые не нулевой работают корректно. Вот пример кода: /// /// Возвращает URL для этой ссылки /// [NotMapped] публичная строка trueUrl {получить {если возвращение URL; (URL! = NULL) если (HttpContext.Current! = NULL) {вар urlhelper = новый UrlHelper (HttpContext.Current.Request.RequestContext); вернуть urlhelper.Action (действие, контроллер, новый {площадь = площадь}); } Возвращение "ERROR"; }} Это приводит к ошибке: System.Web.HttpException: "Ответ не доступен в этом контексте. Мне нужна помощь, о том, где искать, чтобы начать решать эту. HttpException: "Ответ не доступен в этом контексте. Мне нужна помощь, о том, где искать, чтобы начать решать эту. HttpException: "Ответ не доступен в этом контексте. Мне нужна помощь, о том, где искать, чтобы начать решать эту.
Crystal Rouse
1

голосов
0

ответ
286

Просмотры

управление пользователями роли основного asp.net бритвы

Работа на бритве страница проекта Asp.net ядра, и мне нужно интегрировать систему управления ролью / разрешения в проекте. Проект имеет 3 компонента. MVC (веб-интерфейс), WebAPI (отдельный проект, для доступа к БД) и базы данных. Поэтому у меня есть 2 проблемы для управления. Первое шоу интерфейс для пользователя, если у них есть разрешение и вторые проверить разрешения для отображения данных. Если бы я сохранить свою роль в претензии пользователя HttpContext было бы так много, чтобы сохранить там? (Может быть, мне нужно больше, чем 50 роль в HttpContext требования пользователя) Или я должен проверить разрешение (получить список разрешений от API-> базы данных) перед каждым запросом? Нужна консультация спасибо
S. Aziz Kazdal
1

голосов
0

ответ
40

Просмотры

..NET CORE 2.1 Бритва Проверка подлинности Windows профиля и авторизации Хранится в SQL

Я строю приложение 2,1 интранете ядро ​​с Razor страниц, который использует проверку подлинности Windows. Пользователи имеют профили, хранящиеся в базе данных Sql и связаны с UserPrincipal Guid. Я планировал наполнение HttpContext.Session с несколькими полями, которые извлекаются с помощью запроса SQL. Где бы я это сделать?
May B
1

голосов
2

ответ
1.8k

Просмотры

ASP.NET UrlReferrer

У меня есть приложение ASP.Net, который генерирует короткий URL для совместного использования. Я хочу, чтобы отслеживать URL, откуда (источник) нажмите СВЕРШИВШИМСЯ, когда она попадает мою страницу ASP.NET. Я попытался с помощью Context.Request.UrlReferrer.AbsoluteUri, но все, что я получаю от него равна нулю. Есть идеи? ТИА
Murali Bala
1

голосов
1

ответ
797

Просмотры

Entity Framework 4.1 с Many-To-Many Update Урожайность ошибке «объект сущности не может ссылаться несколько экземпляров IEntityChangeTracker»

Моя модель домена использует EntityFramework 4.1 (и я использую код-первый), чтобы обновить свою БД со связанными лицами. У меня есть таблица членов, а затем многие-ко-многим таблице MemberPositions. Проблема заключается в том, что при попытке выполнить обновление на члене с измененными правами, код кидает во время выполнения ошибки «Объект объекта не может ссылаться несколькими экземплярами IEntityChangeTracker», когда я установил следующее из моего репозитория класса: _context.Entry (юридическое лицо) .State = EntityState.Modified Теперь я прочитал сообщения по следующим ссылкам, но они выглядят устаревшими и часть кода не работает в EF 4.1 / MVC3: ADO.Net Entity Framework объект объект не может ссылаться несколько экземпляров IEntityChangeTracker http://samscode.com/index. PHP / 2009/12 / верстку сущность-рамки-v1-работа-часть-1-DataContext-продолжительность жизни-менеджмент / Так что мои вопросы: Что мне нужно сделать, чтобы получить этот код работает EF 4.1 и MVC 3 (например, HttpContext.Current [ «myDBEntities»] не могут быть проиндексированы с использованием сегодняшних рамок), что более важно, где бы этот код нужно жить? Я не могу показаться, чтобы выяснить, где поставить «DataContext на одного пользователя в запрос» метода или класса, как описано в первом звене. Это не имеет смысла в моем домене проекта, потому что does't имеют доступ к к HttpContext, так что если это в моем веб-проекта, как я должен передать его в домен? Чтобы помочь вам, ниже урезанная версия моей модели домена: Entity общественного класса {общественного ИНТ Id {получить; задавать; }} Член общественного класса: Entity {публичная строка Name {получить; задавать; } Общественные позиции списка виртуальных {получить; задавать; }} MemberPosition общественного класса: Entity {публичная строка Name {получить; задавать; }} Общественного класса EfDbContext: DbContext {общественного DbSet Члены {получить; задавать; } общественного DbSet MemberPositions {получить; задавать; } Защищены переопределение недействительного OnModelCreating (DbModelBuilder MODELBUILDER) {modelBuilder.Configurations.Add (новый MemberMap ()); modelBuilder.Configurations.Add (новый MemberPositionMap ()); }} MemberMap общественного класса: EntityTypeConfiguration {общественного MemberMap () {ToTable ( "Пользователи"); . HasMany (м => m.Positions) .WithMany () Карта (м => m.ToTable ( "Member_MemberPositions") MapLeftKey ( "MemberId") MapRightKey ( "PositionId")..); }} MemberPositionMap общественного класса: EntityTypeConfiguration {общественного MemberPositionMap () {ToTable (» IsValid) {вар updatedMember = // Получает данные члена из модели представления ... вар memberRepository = // Создает Repository; memberRepository.Update (updatedMember); вернуться // бла ... бла ... бла ...}}} Любые предложения приветствуются! EDIT: Это решение (это просто!) В контроллере App_Start.NinjectMVC3, используйте следующий код (убедитесь, что InRequestScope) присутствует. В моем исходном коде, это не было, следовательно, она не работает ... частный статическая сила RegisterServices (Ikernel ядра) {kernel.Bind (TypeOf (IRepository)) К (TypeOf (Repository)) InRequestScope ()..; } S ЛЕГКО!) В контроллере App_Start.NinjectMVC3, используйте следующий код (убедитесь, что InRequestScope) присутствует. В моем исходном коде, это не было, следовательно, она не работает ... частный статическая сила RegisterServices (Ikernel ядра) {kernel.Bind (TypeOf (IRepository)) К (TypeOf (Repository)) InRequestScope ()..; } S ЛЕГКО!) В контроллере App_Start.NinjectMVC3, используйте следующий код (убедитесь, что InRequestScope) присутствует. В моем исходном коде, это не было, следовательно, она не работает ... частный статическая сила RegisterServices (Ikernel ядра) {kernel.Bind (TypeOf (IRepository)) К (TypeOf (Repository)) InRequestScope ()..; }
bigmac
1

голосов
1

ответ
633

Просмотры

Как уничтожить сеансов ASP.NET / EPiServer

Веб-приложение, я работаю не уничтожает их должным образом, что означает, что он очень склонен к перехватывает. Я могу выйти, войти в печенье .EpiserverLogin и .ASPXRoles и им внутри приложения снова. Мой текущий код разрушающих сессий следующим образом: HttpContext.Current.Session.Clear (); HttpContext.Current.Session.Abandon (); HttpContext.Current.Session.RemoveAll (); HttpContext.Current.User = NULL; System.Web.Security.FormsAuthentication.SignOut (); Любая помощь, как к тому, что я делаю неправильно сильно appriciated! EDIT: Вот моя проверка подлинности в моем web.config И это, как я проверки пользователей при входе в систему: вар = одобренного Membership.ValidateUser (имя пользователя, пароль); если (подтверждено) {FormsAuthentication.SetAuthCookie (имя пользователя, правда); Response.Redirect ( "/"); }
Jinxen
1

голосов
2

ответ
5.7k

Просмотры

Нулевой объект не может быть преобразован в исключение типа значения выбрасываются внутри метода ProcessRequest

Я могу получить CurrentSideId, я могу сказать, в любом месте через приложение. У меня есть класс с именем MainClass. Он имеет статическое свойство CurrentSideId. MainClass.CurrentSiteId возвращает SiteId запрашивали. общественного класса MainClass {открытые статические INT CurrentSiteId {получить {вернуться HttpContext.Current.Request.RequestContext.RouteData.Values ​​[ "CurrentSiteId"] К (). } Множество {..}}} Но, когда речь идет о методе ProcessRequest из HttpHandler, CurrentSiteId выбрасывает исключение типа System.InvalidCastException: Нулевой объект не может быть преобразован в тип значения. общественный класс MyRouteHandler: MvcRouteHandler {защищенное переопределение IHttpHandler GetHttpHandler (RequestContext RequestContext) {возвратить новый MyHttpHandler (); }} MyHttpHandler общественного класса: IHttpHandler {общественный недействительный РгосеззКедиез (HttpContext контекст) {вар siteId = MainClass.CurrentSiteId; }} Что бы разрешение?
Jude
1

голосов
2

ответ
399

Просмотры

нам действительно нужно блокировка, когда кэширование в ASP.NET MVC приложения?

Я видел много примеров кэширования, которые включают locking.I пытается кэшировать общий список для всего application.Do мне действительно нужно использовать замки, как показано ниже? Самое худшее, что может случиться, если я не использую замок является то, что; Если несколько потоков обнаружения промаха кэша в примерно такой же time.They может попытаться загрузить данные simultaneously.In вывод, данные будут такими же ... Это правда? общественного класса Worker {частный статический объект someLock; общественный статический объект CacheMethod () {Результаты вар = HttpContext.Current.Cache [ "Общие"]; если (результаты == NULL) {блокировка (someLock) {результаты = HttpContext.Current.Cache [ "Общие"]; если (результаты == NULL) {Результаты = GetResultsFromSomewhere (); HttpContext. Current.Cache.Insert ( "Общий", результаты, нулевой, DateTime.Now.AddHours (1), Cache.NoSlidingExpiration); }}} Возвращать результаты; } ``
erhan355
1

голосов
3

ответ
2k

Просмотры

Дразнящий HttpContext.Current.Application

Я пытаюсь проверить Mock HttpContext.Current.Application третью библиотеку, которая использует следующие методы: HttpContext.Current.Application.Add ( «ключ», «значение»); HttpContext.Current.Application.Get ( "ключ"); Я тестировал Много насмешливые рамок MOq, RhinoMock, FakeSystemWeb, FakeHttpContext Но нельзя добавить значение в Application Dictionary, всегда HttpContext.Current.Application.Count == 0 Единственное решение, которое работает, с Microsoft.Fakes, но увы только с версиями премиум и Ultimate, и разработчики, к которым я предоставил тесты только профессиональная версия !! С Microsoft.Fakes (он работает): общественный MockHttpContext () {// ЯКОБЫ System.Web _shimsContext = ShimsContext.Create (); вар HTTPRequest = новый HttpRequest ( "", "http://www.monsite.com", ""); или другая структура насмехались? Спасибо. или другая структура насмехались? Спасибо.
Philippe Auriou
1

голосов
1

ответ
580

Просмотры

Переопределение SaveChanges Сохранить ModifiedBy и ModifiedOn с помощью MVC 1.0 Сердечник

Я хочу, чтобы сохранить запись и применить CreatedBy / ModifiedBy GUID (Id), а также поля CreatedOn / ModifiedOn от моего базового класса DbContext. Я нашел эту статью, которая выглядит как то, что я хочу сделать, но в MVC Ядра 1.0 вы не имеете доступа к System.Web, чтобы добраться до HttpContext. Еще одна хорошая статья, которая показывает, что я хочу сделать это код образца Я ссылаюсь на это: общественное переопределения ИНТ SaveChanges () {вар = ChangeTracker.Entries набор изменений (); если (= нулевой набор изменений) {Еогеасп {entry.Entity.ModifiedDate = DateProvider.GetCurrentDate () (запись вар в changeSet.Where (с => c.State = EntityState.Unchanged)!); entry.Entity.ModifiedBy = HttpContext.Current.User.Identity.Name; }} Вернуть base.SaveChanges ();
MerlinNZ
1

голосов
1

ответ
790

Просмотры

Как получить доступ к HttpContext.Current.Application на Owin Startup

Мне нужно заполнить HttpContext.Current.Application [ «Переводы»] при запуске Owin, но HttpContext.Current является недействительным там. Должен ли я использовать Application_Start () в Global.asax.cs или это плохая идея? Какие альтернативы у меня есть?
ZyXEL
1

голосов
1

ответ
66

Просмотры

Как получить текущее имя сайта IIS в ConfigureService () метод в классе запуска в AspCore 2?

Мне нужно получить текущий веб-сайт IIS (начало сайта) имя метода configureservice в классе statup в aspcore2. Мне это нужно в суб классе configureservice я стараюсь HttpContextAccessor, но она всегда равна нулю
1

голосов
1

ответ
0

Просмотры

.NET Ядро Middleware: Как получить доступ запроса учетных данных?

Для тестирования, я посылаю запрос с учетными данными, используя WebRequest запрос = WebRequest.Create ( «URL»); request.Credentials = новый NetworkCredential ( "пользователь", "проход"); HttpWebResponse ответ = (HttpWebResponse) request.GetResponse (); Тогда поймать их на другом приложении с помощью Middleware общественности .NET сердечника асинхронного Task Invoke (HttpContext контекста) Доступа запроса в context.Request успешны, но то, что я до сих пор ищу то, где же учетные данные можно найти в контексте? Или есть другой путь вокруг?
Ryan
1

голосов
1

ответ
0

Просмотры

Как потреблять HttpContext в старом приложении веб-форм ASP.NET и нового основного приложения ASP.NET

Я преобразование все наши общих библиотек классов из .NET Framework для .NET Standard, так что они расходные оба нашей старой .NET Framework и наших новых приложения .NET Core. Цель состоит в том, чтобы получить все наши приложения в .NET Ядро, но это большая система так потребуется время, так что нам нужно два мира, чтобы сосуществовать в течение года или около того в то же время. Одной из болевых точек является то, что общий код библиотеки классов использует HttpContext широко. Я понимаю, что новый .NET основной способ доступа к ней внутри библиотеки классов заключается в использовании AddHttpContextAccessor. Тем не менее, у нас еще есть старые веб-форма приложения ASP.NET и новые веб-приложения ASP.NET ядро, как нужно называть этот общий код. Если переключиться на использование HttpContextAccessor с DI, то он не будет работать со старой ASP.NET Web Forms приложений, так как он не имеет ни малейшего понятия о том, что HttpContextAccessor есть. Я задаюсь вопросом, что мои варианты здесь ... Есть ли способ настроить доступ HttpContext такой, что она может быть расходным как в веб-форм ASP.NET и ASP.NET Ядра?
Justin
1

голосов
2

ответ
0

Просмотры

Как я могу перенаправить страницу с AJAX?

Я использую контроль Infragistics в моем приложении. Если пользователь удаляется из моего приложения, то я хочу, чтобы перенаправить пользователь не разрешали страницу. для перенаправления страницы я использую HttpContext метод, но он не работает. Я попытался windows.location, а через Java-скрипт, но он не работает, как хорошо. Может кто-нибудь помочь мне, как перенаправить страницу с AJAX? Заранее благодарны за Вашу помощь.
user222431
1

голосов
1

ответ
0

Просмотры

Как получить .NET HttpContext для изолированного блока кода

В .NET есть возможность получить HttpContext текущей страницы внутри внешнего класса? Так, например, в моей странице test1.aspx коде у меня есть: Dim мля As New FeedWriter () blah.Run () Но внутри FeedWriter.vb, могу ли я получить HttpContext из test1.aspx? Или я должен передать его в Run ()? (Я не желает, чтобы сделать последнее, потому что FeedWriter реализует интерфейс, который нужно будет переписать, если это принять аргументы) Cheers, Matt
Matt Thrower
1

голосов
2

ответ
0

Просмотры

HttpContext.Current.Request.UserHostName пуст, когда вызывается из класса

У меня есть различные веб-страницы, которые необходимо построить URL, чтобы отобразить или поместить его в излучаемого сообщении электронной почты. Код, который я унаследовал имел это значение имени веб-сервер в общественном Const в открытом классе под названием FixedConstants. Например: Public Const cdServerName As String = "WEBSERVERNAME" Пытаясь улучшить это, я написал это: Public Class UIFunction Public Shared myhttpcontext Как HttpContext Public Function общей cdWebServer () As String Dim с, как Новый StringBuilder ( "HTTP: //" ) Dim ч As String ч = String.Empty Попробуйте час = Current.Request.ServerVariables ( "REMOTE_HOST"). ToString () Поймать ех As Exception Dim м As String м = ex.Message.ToString () «Игнорировать это должно-не -occur штуковина End Try Если Н = String.Empty Тогда Н = "SomeWebServer" End If s.Append (ч) s.Append ( «/») Возвращение s.ToString () End Function Я пробовал разные вещи во время отладки, такие как HttpContext.Current.Request.UserHostName и я всегда получаю пустую строку, насосы из моей по умолчанию строки «SomeWebServer». Я знаю Request.UserHostName или Request.ServerVariables ( «REMOTE_HOST») работает, когда вызывается из страницы, но почему это возвращение пустым, когда вызывается из называемого метода файла класса (то есть UIFunction.vb)?
John Adams
1

голосов
1

ответ
0

Просмотры

HttpContext.Current.Request.Url.Authority давая неправильные имена Authority

У меня есть два производства веб-серверов, которые балансировкой нагрузки и сидеть в DMZ. У меня есть форма, которая должна открыть другую форму, основанную на определенных критериях. Один из серверов отлично работает и дает полный например, имя власти, «host.nncom». Другой сервер прода возвращает только «хозяин», и в результате страница не может быть найдена. Вот код, я использую: urlString.Append (url.Scheme); urlString.Append ( "//"); urlString.Append (url.Authority); urlString.Append ( "/ somedir / anotherdir /"); urlString.Append (FORMNAME + ".aspx"); Сервер 1 (рабочий) возвращается с HTTP: //host.nncom/somedir/anotherdir/formName.aspx сервер 2 (сломал) возвращается с HTTP: появляется //host/somedir/anotherdir/formName.aspx IIS, чтобы быть onfigured то же самое на обоих серверах. Заранее благодарю за любую помощь
pat
1

голосов
2

ответ
0

Просмотры

Преобразование ASMX WebService с помощью HTTP для WCF веб-сервиса с использованием NetTcpBinding означает альтернативу использованию HttpContext

Я изучаю WCF и был рефакторинга мое решение ASMX WebService (несколько проектов) медленно в соответствии с «наилучшей практики», я обнаружил, и я пришел на некоторые вопросы дизайна / архитектуры, где я чувствую большую потребность остановиться и обратиться за советом , РЕЗЮМЕ: Как использовать HttpContext в службе WCF, который не использует ASP.Net MVC и «маршруты»? ПОДРОБНОСТИ: Более высокая производительность является основной задачей для этой повторной записи и я прочитал, что NetTcpBinding лучше для этого, и поэтому я думаю, что нужно избегать: [AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] и нужно избегать: serviceHostingEnvironment aspNetCompatibilityEnabled = «истинный» Таким образом, вебсервис переработан для WCF необходимо избегать зависимостей, таких как ASP.NET HttpContext, сессии, и т.д. Я надеваю» использование т Session на всех, кроме одного WebMethod (UploadFile) в настоящее время использует HttpContext как в этих фрагментах: [WebMethod (Description = «Загрузить файл со свойствами метаданных, упакованных в строку с разделителями»)] общественная строка UploadFile (строка trimURL, байт [] incomingArray , строка имя_файла, строка RecordTypeName, строка metaDataString) {строка pathFileInfo; // здесь объявили в «голом блоке», так что в области видимости окончательно блокировать слишком попробовать {pathFileInfo = ByteArrayToFile (Filename, incomingArray); FileInfo ц = новый FileInfo (pathFileInfo); если (fi.Exists) {а вот где HttpContext используется: открытая строка ByteArrayToFile (строка _FileName, байт [] _ByteArray) {строка FULLNAME = HttpContext.Current.Server.MapPath (@ "\ \ UploadWorkArea.") + _FileName; используя (FileStream _FileStream = новый FileStream (FULLNAME, FileMode.Create, FileAccess.Write)) {_FileStream.Write (_ByteArray, 0, _ByteArray.Length); _FileStream.Close (); вернуться FULLNAME; }} Таким образом, я нашел этот совет здесь: http://msdn.microsoft.com/en-us/library/aa702682.aspx: «В пределах AppDomain, особенности реализуется HTTP выполнения применяются к содержимому ASP.NET, но не . WCF Многие HTTP-специфических особенности платформы приложений ASP.NET, не применяются к службам WCF, размещенных внутри в AppDomain, который содержит содержимое ASP.NET примеров этих функций включают в себя следующее:. HttpContext: Ток всегда нуль, когда доступ из службы WCF. Используйте вместо RequestContext. и чуть ниже, что: «Эти ограничения применяются только к службам WCF, размещенных в приложении IIS Поведение содержимого ASP.NET не зависит от наличия приложений WCF WCF, которые требуют функциональность традиционно используемой в трубопроводе HTTP следует рассмотреть возможность использования WCF.. эквиваленты, которые хозяин и транспорт не зависит: OperationContext вместо HttpContext «. Наконец, я добавил это пространство имен: с помощью System.Web.Routing; .. для того, чтобы решить эту проблему с этим: общественным RequestContext (HttpContextBase HttpContext, RouteData routeData) И я прибыл в точке, где я чувствую себя очень уверен идти дальше. Я прочитал немного о ASP.NET MVC, и это использование «маршрутизация» но я на самом деле не существует - я просто думать о восстановлении этого так он мог бы использовать более быстрое связывание для выполнения. Будем надеяться, что мой вопрос ясен, и я не бродил слишком много для вас, чтобы дать мне несколько советов по этому поводу.
John Adams
1

голосов
1

ответ
0

Просмотры

Дразнящий HttpContext (Session)

Я прочитал много статей и блог о насмехаясь в ... MVC Многие из них были полезны, но я до сих пор есть некоторые проблемы: Одной из таких проблем является то, что мне нужно использовать сессию в Моем ActionResult, но в моих тестах я получаю NullReferenceException когда сеанс доступен. Индекс общественного ActionResult () {если (Session [ "Нечто"] == NULL) {Session.Add ( "Что-то",); } Еще {Session [ "Нечто"] =; } Вернуться перенаправить к действию ( "index2"); } Мой тест выглядеть следующим образом: HomeController контроллер = новый HomeController; Результат переменная = controller.Index (), как ViewResult; Assert.AreEqual ( "index2", result.ViewName);
AkmecNurik
1

голосов
2

ответ
3.9k

Просмотры

Как я могу получить веб-службы метод вызывается с помощью HttpContext?

У меня есть веб-службы с 40 различными методами веб. Могу ли я получить в моем веб-службы метод, который отправлен запрос с использованием HttpContext? Мне это нужно, потому что у меня есть абстрактные общие команды, что все методы активации и у меня есть доступ только к HttpContext. Спасибо!
Dor Cohen
1

голосов
1

ответ
410

Просмотры

Поддерживать ссылку на HttpContext на другом потоке после запроса завершения

Я пытался определить, насколько безопасно поддерживать только для чтения ссылки на HttpContext после запроса завершен. В частности, я ищу, чтобы получить ссылку на HttpContext.Current, когда запрос выполняется, а затем поместить ссылку на контекст в очередь в памяти для последующей оценки (возможно, до нескольких секунд позже) в другом потоке , Очевидно, пытаясь работать и пытаться писать в context.Response не будет работать, и я не особенно заинтересован в этом. Вместо этого, я заинтересован в чтении несколько значений на свойства context.Request и несколько других значений из самого контекста, например context.Timestamp, Context.Items, и, возможно, некоторые другие. Предварительные тесты показали, что я могу это сделать, но я пытаюсь программировать намеренно, а не случайно.
Jonathan Oliver
1

голосов
2

ответ
545

Просмотры

Установка прокси-пользователя в GenericPrincipal, сохраняя старую идентичность, используя MVC

У меня есть сайт, где я разрешить некоторым пользователям прокси в качестве другого пользователя. Когда они делают, они должны видеть весь сайт, как если бы они, когда пользователь их прокси как. Я сделать это, изменив текущий пользовательский объект внутреннего статического силы SetProxyUser (интермедиат USERID) {HttpContext.Current.User = GetGenericPrincipal (USERID); } Этот код отлично работает для меня. На сайте, в прокси, пользователь выбирает значение в раскрывающемся списке, который я рендеринг в моем файле _layout как таковые, так что она появляется на всех страницах. @ Html.Action ( "SetProxyUsers", "Начало") SetProxyUsers вид выглядит следующим образом: @using (@ Html.BeginForm ( "SetProxyUsers", "Начало")) {@ Html.DropDownList ( "ddlProxyUser", (SelectList) ViewBag.ProxyUsers_SelectList, новый {OnChange = "this.form.submit ();" })} Действия, контроллер для этого выглядят следующим образом [HttpGet] общественный ActionResult SetProxyUsers () {ViewBag.ProxyUsers_SelectList = GetAvailableProxyUsers (originalUserID); вернуть PartialView (); } [HttpPost] общественный ActionResult SetProxyUsers (FormCollection FormCollection) {INT ID = int.Parse (FormCollection [ "ddlProxyUser"]); RolesHelper.SetProxyUser (ID); ViewBag.ProxyUsers_SelectList = GetAvailableProxyUsers (originalUserID); Перенаправление возврата (Request.UrlReferrer.ToString ()); } Все это работает (для переменной originalUserID, которую я поставил здесь, чтобы символизировать то, что я хочу сделать следующую за исключением. Моя проблема заключается в том, что значения в списке основаны на вошедшем пользователе. Таким образом, при изменении пользователя с помощью прокси, Я также изменить значение в списке прокси ниспадающего (либо исчезнуть, если «новый» пользователь не имеют доверенности, или показать «новый» список пользователя доступных пользователей прокси). Мне нужно, чтобы это SelectList остается неизменным. Как я могу идти о хранении идентификатора исходного пользователя? Я мог бы сохранить его в переменной сеанса, но я не хочу связываться с потенциальными тайм-аут вопросов, так что это последнее средство. Пожалуйста, помогите, и дайте мне знать, если что-то неясно с вопросом. Обновление Я не понял, что HttpContext устанавливается для каждой должности. Я на самом деле не работал с таким родом вещи до и по какой-то причине предположила, что я устанавливал значение для всей сессии (глупо, я знаю). Тем не менее, я использую проверки подлинности Windows. Как я могу изменить пользователь на более постоянной основе (пока открыт браузер)? Я предполагаю, что я не могу использовать FormAuthentication печенья, поскольку я использую окно, как мой режим аутентификации, правильно?
1

голосов
1

ответ
496

Просмотры

Инъекционный хозяин от HttpContext в слой Service

Мне нужно применить фильтр, запрашивая имя хоста на все обращениях к базе данных в моей службе Web API. Эта фильтрация работает следующим образом: выполните поиск сайта в профилировать против на основе запрашивающего имени хоста Нанести Site.Id на все последующие вызовы доступа к данным, выполненным в запросе По существу глобальный фильтре таким образом, чтобы данные, возвращаемый службой API всегда содержится в хозяине , Одним из решений было бы передать имя хоста в качестве аргумента на все мои методы обслуживания, как так: государственные IEnumerable GetProfiles () {вар хост = HttpContext.Current.Request.ServerVariables [ «SERVER_NAME»]; вернуть profilesService.Get (хост); } Но так как это соответствует правило на все запросы, я хотел бы, чтобы придумать более элегантный способ справиться с этим, так что мои звонки службы просто profileSerivce.Get (); Я думаю, что нужно придать ISiteLocator в мой слой сервиса, который имеет либо имя хоста или даже лучше Id уже извлечена из базы данных, которые я потом применит. Но я борюсь с этим, как и где я могу сослаться на HttpContext, чтобы получить имя хоста, а также, если это было возможно оптимизировать это с помощью StructureMap жизненных циклов.
Galen
1

голосов
1

ответ
2.6k

Просмотры

Почему HttpContext.Current иногда нуль при использовании ASP.NET ReportViewer?

В нашем ASP.NET веб-приложений, у нас есть сервис с прижизненного / объем, который может описать как «экземпляр каждого запроса» т.е. экземпляр хранится в коллекции HttpContext.Current.Items. Мы провели этот прерывистый вопрос, где свойство HttpContext.Current является нулевым во время вызовов из элемента управления ASP.NET ReportViewer. Иногда это имеет нулевое значение, иногда это не так. Поведение может отличаться на сайте перевалочного по сравнению с Dev машины, и даже варьируется между различными Дев машинами. Это вызовет отчет, который хотел бы использовать наш сервис сгенерирует исключение. Почему HttpContext.Current свойство нуль? Почему это прерывистое?
andrej351
1

голосов
1

ответ
123

Просмотры

Является ли это публичный статический IP прибудет функцию поточно? Использование HttpContext

IIS 7.5 ASP.net 4.0 C # 4.0 Здесь функция это поточно? Предположим, 1000 различных вызовов, сделанных из разных посетителей одновременно общественности статической строки ReturnIpAddress () {строка srUserIp = «»; попробуйте {если (HttpContext.Current.Request.ServerVariables [ "HTTP_X_FORWARDED_FOR"]! = NULL) {srUserIp = HttpContext.Current.Request.ServerVariables [ "HTTP_X_FORWARDED_FOR"] ToString (). } Если (string.IsNullOrEmpty (srUserIp)) {srUserIp = HttpContext.Current.Request.ServerVariables [ "REMOTE_ADDR"] ToString (). }}} {Улов вернуть srUserIp; }
MonsterMMORPG
1

голосов
1

ответ
3.9k

Просмотры

How to handle httpcontext in UnitTest MVC

I am getting the following error when running unit test: NullReferenceException was unhandled by usercode. Object reference was not set to an instance of an object. Not sure where I am going wrong. Please advice. My SessionManager.cs class public static int customerID { get { if (HttpContext.Current.Session != null && HttpContext.Current.Session[_customerID] != null) { return Convert.ToInt32(HttpContext.Current.Session[_customerID]); } else { throw new Ramsell.ExceptionManagement.RamsellException(); } } set { if (HttpContext.Current.Session == null) return; HttpContext.Current.Session[_customerID] = value; } } ParticipantController public ActionResult Index() { int custId = Convert.ToInt32(SessionManager.customerID); //code logic about participant lists return View(); } Test method : [TestMethod] public void IndexTest() { ParticipantController pCTarget = new ParticipantController(); const int page = 1; const string sortBy = "FirstName"; const bool ascending = true; const string partname = ""; const int success = -1; const string id = ""; var expected = typeof(ParticipantListViewModel); ViewResult result = pCTarget.Index(page, sortBy, ascending, partname, success, id) as ViewResult; Assert.AreEqual(expected, result.Model.GetType()); } //This is my mock class public Mock RoutingRequestContext { get; private set; } public Mock Http { get; private set; } public Mock Server { get; private set; } public Mock Response { get; private set; } public Mock Request { get; private set; } public Mock Session { get; private set; } public Mock ActionExecuting { get; private set; } public HttpCookieCollection Cookies { get; private set; } public MockContext() { this.RoutingRequestContext = new Mock(MockBehavior.Loose); this.ActionExecuting = new Mock(MockBehavior.Loose); this.Http = new Mock(MockBehavior.Loose); this.Server = new Mock(MockBehavior.Loose); this.Response = new Mock(MockBehavior.Loose); this.Request = new Mock(MockBehavior.Loose); this.Session = new Mock(MockBehavior.Loose); this.Cookies = new HttpCookieCollection(); this.RoutingRequestContext.SetupGet(c => c.HttpContext).Returns(this.Http.Object); this.ActionExecuting.SetupGet(c => c.HttpContext).Returns(this.Http.Object); this.Http.SetupGet(c => c.Request).Returns(this.Request.Object); this.Http.SetupGet(c => c.Response).Returns(this.Response.Object); this.Http.SetupGet(c => c.Server).Returns(this.Server.Object); this.Http.SetupGet(c => c.Session).Returns(this.Session.Object); this.Request.Setup(c => c.Cookies).Returns(Cookies); var sessionContainer = new HttpSessionStateContainer("userID", new SessionStateItemCollection(), new HttpStaticObjectsCollection(), 1, true, HttpCookieMode.AutoDetect, SessionStateMode.InProc, false); this.Session.Setup(c => c.Add("AspSession", typeof(HttpSessionState).GetConstructor( BindingFlags.NonPublic | BindingFlags.Instance, null, CallingConventions.Standard, new[] { typeof(HttpSessionStateContainer) }, null) .Invoke(new object[] { sessionContainer }))); }
Kdev
1

голосов
1

ответ
795

Просмотры

Сервер Path Map сохранить проблемы при использовании IE или Safari

Я создал приложение в интранете и у меня возникают некоторые проблемы с IE и сафари на окнах при попытке использовать следующий код, чтобы сохранить файл размещен на внутренней папке в структуре папок решение MVC: postedFile.SaveAs (HttpContext.Current.Server. MapPath ( "~ /" + baseFolderName + "/" + contentFolder + "/" + Filename)); Это работает, как ожидалось при использовании Firefox и хром, так что я не уверен, почему это происходит что-то делать с форматом строки. System.NotSupportedException: Формат данного пути не поддерживается. Название basefolder и contentfolder пропускают одни и те же в тестах, так я предполагаю, что проблема заключается в IE пытается найти путь.
Jay
1

голосов
1

ответ
528

Просмотры

Получить URL Орчард страниц по умолчанию

Я использую сад 1.9 и я в здании службы, в котором мне нужно, чтобы получить текущий URL. У меня есть OrchardServices и от этого я могу получить URL следующим образом: _orchardServices.WorkContext.HttpContext.Request.Url.AbsolutePath; Это работает как шарм для страниц / маршрутов, которые я создал, но когда я иду к Войдите или зарегистрируйтесь страницу (/ Users / Account / LogOn) абсолютный URL является / и я не могу найти в любом случае, чтобы получить URL или, по крайней мере, любой признак того, что я нахожусь в LogOn или Зарегистрируйтесь. Каждый знает, как я мог бы получить полный URL?
Tadej Vengust
1

голосов
1

ответ
583

Просмотры

C #: Возвращает текущую веб-путь с HTTP / HTTPS префикс

При использовании HttpContext.Current.Request.Url.Authority я могу получить текущий сайт хоста, например: локальный: 8084. Можно ли получить «полный» имя хоста, например: "HTTP: // локальный: 8084? Для некоторых реализаций это будет HTTP и другими будет протокол HTTPS, и мне нужно, чтобы создать URL-адрес на основе адреса сайта.
Cameron Castillo
1

голосов
2

ответ
580

Просмотры

IHttpContextAccessor является нулем в классе

У меня есть проблема, когда я пытаюсь получить HttpContext из поля IHttpContextAccessor всегда нуль в классе. Существует мой startup.cs общественной пустот ConfigureServices (услуги IServiceCollection) {services.AddMvc (); services.AddDistributedMemoryCache (); services.AddSingleton (); services.AddTransient (); services.AddSession (опции => {options.Cookie.Name = ".AdventureWorks.Session"; options.IdleTimeout = TimeSpan.FromSeconds (10);}); } Это мой UserContext класс, который реализует интерфейс IUserContext общественного класса UserContextService: IUserContextServices {частных чтений IHttpContextAccessor contextAccessor; PQADBContext _context = новый PQADBContext (); общественного UserContextService (IHttpContextAccessor аксессор) {contextAccessor = аксессор; } Общественного UserContextService () {} контекст общественного HttpContext {получить {вернуться contextAccessor.HttpContext; }} Общественного ИНТ Идентификатор_пользователя () {вернуться Context.Session.GetID ( "UserID") ConvertToInt (). } Общественного BOOL isLogin () {вернуть Context.Session.GetBoolean ( "isLogin") ConvertToBool (). } Общественного учетная_запись_пользователь CreateSession (LoginViewModel logindata, BOOL EncryptPwd = истина) {строка ошибка; ошибка = ""; попробуйте {строка EncPwd = EncryptPwd? EncryptDecryptHelper.Encrypt (logindata.Password): logindata.Password; вар UserDetail = _context.UserAccount.Where (е => e.P_No == logindata.PNo && e.Password == EncPwd) .SingleOrDefault (); если (UserDetail! = NULL) {//HttpContext.Session.SetInt32 () // /// поместить все свойства в переменных сеанса Context.Session.SetBoolean ( "isLogin", правда); Context.Session.SetID ( "Идентификатор_пользователь", UserDetail.AccountId); Context.Session.SetID ( "P_No", Convert.ToInt32 (UserDetail.P_No)); Context.Session.SetBoolean ( "IsActive", правда); Context.Session.SetBoolean ( "Электронная почта", правда); Context.Session.SetID ( "Идентификатор роли", 1); Context.Session.SetString ( "Имя пользователя", "администратор"); } HttpContext доступны в классе выше, а также установить значение сессии, но когда я пытаюсь получить доступ к HttpContext в этом классе он дает мне пустую ссылку на объект общественного класса UserService {частного IHttpContextAccessor только для чтения contextAccessor; общественный IUserContextServices _userContext = новый UserContextService (); общественный UserService () {} CreateEmployee общественного Его (AppEmployees appemployee, Int Идентификатор роль, BOOL isEmailSend, из строки ошибки) {appemployee.CreatedBy = _userContext.UserID (); // эта строка показывает нулевое опорное исключение appemployee.CreatedDate = DateTime.Now; } из ошибок строка) {appemployee.CreatedBy = _userContext.UserID (); // эта строка показывает нулевое опорное исключение appemployee.CreatedDate = DateTime.Now; } из ошибок строка) {appemployee.CreatedBy = _userContext.UserID (); // эта строка показывает нулевое опорное исключение appemployee.CreatedDate = DateTime.Now; }
Afaq Rajput
1

голосов
1

ответ
2.1k

Просмотры

Почему HttpContext является Null в конструкторе контроллера?

Startup.Auth.cs // Я добавил мой DbContext здесь // Настройка контекстной БД, менеджер пользователей и входа в аккаунт менеджера использовать один экземпляр для каждого запроса app.CreatePerOwinContext (ProjectPlannerContext.Create); app.CreatePerOwinContext (ApplicationUserManager.Create); app.CreatePerOwinContext (ApplicationSignInManager.Create); В AccountController.cs я хочу, чтобы создать экземпляр сервиса, который нуждается в экземпляр UnitOfWork делать вещи, связанные с базой данных. Так вот код: общественный AccountController () {ContactManager = новый ContactManager (UnitOfWork); } Где UnitOfWork это свойство определяется следующим образом: общественные UnitOfWork UnitOfWork {получить {если (UnitOfWork == NULL) {// Здесь HttpContext является NULL UnitOfWork = новый UnitOfWork (. HttpContext.GetOwinContext () Get ()); } Вернуть UnitOfWork; }} У меня есть глобальный Authorization фильтр применяется, поэтому при запуске приложения, первое, что нужно сделать, это Войти на сайт (это вызовет запрос на метод авторизации AccountController - и дает ссылку на объект об ошибке не указует на экземпляр, из-за вызова UnitOfWork в контроллерах конструктора). Странная вещь для меня является то, что если я закомментировать ContactManager строки в конструкторе, при входе в ASP.Net MVC Использует SignInManager, определенное следующим образом: общественное ApplicationSignInManager SignInManager {получить {вернуться _signInManager ?? . HttpContext.GetOwinContext () Получить (); } Частное множество {_signInManager = значение; }} И это прекрасно работает, я могу зарегистрировать (Ссылка на объект ошибка не брошена здесь) и вижу, что в базе данных вставляются мой пользователь. Так что мой вопрос, почему это происходит, и как инициализировать свою службу, если не в конструкторе? На самом деле есть обходной путь, если я определяю UnitOfWork как: общественные UnitOfWork UnitOfWork {получить {если (UnitOfWork == NULL) {UnitOfWork = новый UnitOfWork (ProjectPlannerContext.Create ()); } Вернуть UnitOfWork; }} Но это означает, что я должен создать контекст базы данных в каждом контроллере .. Что такое лучшая практика / решение по этому поводу?
M.Veli
1

голосов
2

ответ
573

Просмотры

HttpContext текущий кэш очищается

Я хранение значений в HttpContext.Current.Cacheusing Insertmethod: HttpContext.Current.Cache.Insert (ключ, значение, NULL, DateTime.Now.AddMinutes (1440), TimeSpan.Zero); На мой взгляд, это должно сохранить значение в кэше в 1440 минут. Но так или иначе кэш очищается и ключ это не распространяется существует. В последний раз я проверил этот кэш был сохранен примерно 30 минут. Может ли кэш быть очищен каким-то образом? Если AppPool возвращают или что-то подобное?
MrProgram
1

голосов
1

ответ
842

Просмотры

Как получить контекст HTTP от ApplicationDbContext.OnConfiguring?

Я аутентификации HTTP запросов в ПО промежуточного слоя, запрашивая данные в базе данных, и для этого мне нужно настроить ApplicationDbContext с данными в запросе HTTP. Как я могу связаться запрос HTTP от ApplicationDbContext.OnConfiguring? (Ядро ASP .NET / Entity Framework ядро) Промежуточное общественного класса TeamAuthentication {общественности асинхронной Task Invoke (контекст HttpContext, ApplicationDbContext дБ) {My.CheckToken (дБ); // ... DbContext общественный класс ApplicationDbContext: IdentityDbContext {частное ILoggerFactory loggerFactory; общественного ApplicationDbContext (варианты DbContextOptions, ILoggerFactory _loggerFactory): база (варианты) {loggerFactory = _loggerFactory; } Защищен переопределения недействительным OnConfiguring (DbContextOptionsBuilder optionsBuilder) {// как достичь HttpContext здесь? // ...
Marko
1

голосов
3

ответ
103

Просмотры

Когда пользователь logsoff, приложение [ «Usersonline»] DonT уменьшить

Я использую код, который я нашел здесь. Когда пользователь вход в систему правильно объявления +1 к значению, но когда пользователи выхода из системы он Dont уменьшить значение. Может кто-нибудь сказать мне, что причиной этого является ?. MvcApplication общественного класса: System.Web.HttpApplication {защищен недействительным Application_Start () {AreaRegistration.RegisterAllAreas (); FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters); RouteConfig.RegisterRoutes (RouteTable.Routes); BundleConfig.RegisterBundles (BundleTable.Bundles); Применение [ "OnlineUsers"] = 0; } Недействительными session_start (объект отправителя, EventArgs е) {Application.Lock (); Применение [ "OnlineUsers"] = (INT) Применение [ "OnlineUsers"] + 1; Application.UnLock (); } Недействительными Session_End (объект отправителя, EventArgs е) {Application.Lock (); Применение [ "OnlineUsers"] = (INT) Применение [ "OnlineUsers"] - 1; Application.UnLock (); }}
Peter Hansen
1

голосов
1

ответ
955

Просмотры

Как получить доступ ядро ​​asp.net печенья

вар претензия = новое [] {нового требование ( "Идентификатор_пользователь", user.ID.ToString ()), новые претензии (ClaimTypes.Role, "Пионер")}; вар главная = новый ClaimsPrincipal (новый ClaimsIdentity (претензии, CookieAuthenticationDefaults.AuthenticationScheme)); ждут HttpContext.Authentication.SignInAsync ( "печенье", основные); Это печенье, что я создаю и используя для входа в согласно инструкции из этого учебника: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie Куков создаваемый, но я не знаю, как получить доступ к куки или данные внутри него, чтобы получить значение user.id.
tocoolforscool
1

голосов
1

ответ
800

Просмотры

HttpContext.Current является недействительным после успешной аутентификации Azure AD

Вопрос: Что может быть причиной HttpContext.Current утратившими только иногда? Вопрос: инициализируется HttpContext.Current после PrincipalService.OnAzureAuthenticationSuccess называется? Если да, то почему только sometiems? Описание Что происходит довольно часто пользователь нажмет параметры входа и HttpContext.Current будет аннулирована в результате чего куки не будет не устанавливался. Какие перенаправляет их обратно на главной странице и так как куки не был установлен они щелкают, войдите снова и снова и снова. Иногда решит позволить печенью быть установлено после того, как 2 или 3 щелчков в другое время она не будет делать это без удаления куки или выхода из другой Azure учетной записи AD (например, наш сервер SharePoint использует Azure AD). Эти вещи кажутся настолько странным для меня, и я не был в состоянии придавить, что причина несмотря часов исследований в нее. Azure Config государственной статической силы ConfigureAzure (IAppBuilder приложение) {// COOKIES: Сообщает его использовать куки для аутентификации. app.SetDefaultSignInAsAuthenticationType (CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication (новые CookieAuthenticationOptions () {// АДАПТАЦИЯ: Здесь вы бы настроить печенье experiation и вещи той природы SlidingExpiration = верно, ExpireTimeSpan = TimeSpan.FromHours (CookieDurationInHours).}); //https://azure.microsoft.com/en-us/resources/samples/active-directory-dotnet-webapp-webapi-openidconnect/ // ОТКРЫТОГО ID: Handle OpenID материал. вар уведомления = новые OpenIdConnectAuthenticationNotifications () {AuthenticationFailed = PrincipalService.OnAzureAuthenticationFailure, // ССЫЛКА: HTTPS: // russellyoung. нетто / 2015/09/05 / MVC-ролевая авторизация-с-лазурь-активный каталог AAD / AuthorizationCodeReceived = PrincipalService.OnAzureAuthenticationSuccess}; Варианты вара = новые OpenIdConnectAuthenticationOptions () {ClientID = ClientID, Орган = Орган, PostLogoutRedirectUri = PostLogoutRedirectUri, Уведомление = уведомления}; app.UseOpenIdConnectAuthentication (варианты); } На Azure успеха /// /// Stores собственно печенье идентичность (не имеет разрешения клиента пока). /// общественности статической задачи OnAzureAuthenticationSuccess (AuthorizationCodeReceivedNotification контекст) {вар успех = ложь; вар имя пользователя = context.AuthenticationTicket.Identity.Name; попробуйте {успех = StoreCookie (имя пользователя); } Задвижка (DbEntityValidationException ех) {ошибки вар = ex.EntityValidationErrors.FirstOrDefault () ?. ValidationErrors.FirstOrDefault () ?. ErrorMessage; Logger.log (Level.Error, «при сохранении аутентификации куки произошла ошибка.», Ех); вернуть Task.FromResult (0); } Задвижка (Исключение ех) {Logger.log (Level.Error, "при сохранении аутентификации куки произошла ошибка.", Ех); вернуть Task.FromResult (0); } Если (успех) {Logger.log (Level.Cookie "Войти Полная Cookie успешно хранятся Имя пользователя:. '" + Имя +'. "); } Вернуть Task.FromResult (0); } Магазин Cookie /// /// Создает и сохраняет куки проверки подлинности форм для пользователя. /// частного статического BOOL StoreCookie (строка имя пользователь, BOOL RememberMe = FALSE) {вар azureUsers = новый AzureUserRepository (новые AuthenticationEntities ()); вар пользователь = azureUsers.Get (и => u.Username == имя пользователя); если (пользователь == NULL) {Logger.log (Level.Cookie, "Пользователь '+ имя пользователя + "' не найден."); певд NullReferenceException (); } // Очистить все старое существующее печенье. если (HttpContext.Current == NULL) {// здесь: Это где нуль (опять же, только иногда). Logger.log (Level.Debug, "HttpContext равно нулю."); вернуться ложным; } Если (HttpContext.Current.Request == NULL) {Logger.log (Level.Debug, "HttpContext.Current.Request равно нулю."); вернуться ложным; } Если (HttpContext.Current == NULL && HttpContext.Current.Response! = NULL) {Logger. Log (Level.Debug, "HttpContext.Current.Response равно нулю."); вернуться ложным; } HttpContext.Current.Request.RemoveFormsAuthCookie (); HttpContext.Current.Response.RemoveFormsAuthCookie (); // Создание принципала из объекта пользователя. вар главная = новый PrincipalModel (пользователь); // Создание и сохранять файлы в ответ. HttpContext.Current.Response.AddFormsAuthCookie (имя пользователя: user.username, USERDATA: principal.SerializeUserData (), isPersistent: правда); возвращает истину; } AccountController [AllowAnonymous] общественный недействительный зарегистрировались () {если (Request.IsAuthenticated) {возвращение; } HttpContext.GetOwinContext () Authentication.Challenge (новые AuthenticationProperties () {RedirectUri = "/"}, OpenIdConnectAuthenticationDefaults.AuthenticationType). Logger.log (Level.Info, "Sign-In щелкнул."); } Общественной недействительная SignOut () {если (Request.IsAuthenticated!) {Возвращение; } // Выход из системы:. HttpContext.GetOwinContext () Authentication.SignOut (OpenIdConnectAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType); Logger.log (Level.Info, "Вход из щелкнул."); // COOKIE: Удалить куки. вар печенья = Request.Cookies [FormsAuthentication.FormsCookieName]; cookie.Expires = DateTime.Now.AddDays (-1); // DateTime.UtcNow.AddDays (-1); Response.Cookies.Add (печенье); } AuthenticationType, CookieAuthenticationDefaults.AuthenticationType); Logger.log (Level.Info, "Вход из щелкнул."); // COOKIE: Удалить куки. вар печенья = Request.Cookies [FormsAuthentication.FormsCookieName]; cookie.Expires = DateTime.Now.AddDays (-1); // DateTime.UtcNow.AddDays (-1); Response.Cookies.Add (печенье); } AuthenticationType, CookieAuthenticationDefaults.AuthenticationType); Logger.log (Level.Info, "Вход из щелкнул."); // COOKIE: Удалить куки. вар печенья = Request.Cookies [FormsAuthentication.FormsCookieName]; cookie.Expires = DateTime.Now.AddDays (-1); // DateTime.UtcNow.AddDays (-1); Response.Cookies.Add (печенье); }
Shelby115
1

голосов
2

ответ
277

Просмотры

Является HttpContext.Current.Items [ «SameKey»] уникально для каждого вызова, сделанного в ASP.NET WebAPI?

Я использую Angular2 в качестве клиента и сервера на стороне его ASP.NET WebAPI + EF6. Мой DbContext используется совместно для работы с несколькими БД в одном запросе WebAPI. Для совместного использования DbContext между несколькими операциями DB, я держать DbContext в HttpContext.Current.Items [ «SameKey»]. Так будет ли он быть уникальным на каждом WebAPI вызова?
Mukesh Sakre
1

голосов
1

ответ
395

Просмотры

Путь Карта App_Data с HttpContext.Current.Server.MapPath ()

Я пишу небольшое приложение WPF, который будет использовать шаблоны слов и объединить их с данными. Проблема в том, что я пытаюсь избежать использовать абсолютный путь к папке App_Data в моем Visual Studio C # проекта по очевидным причинам. Я пытаюсь отобразить путь к папке App_Data, так что я могу использовать шаблон оттуда. Однако это дает мне следующую ошибку: System.NullReferenceException произошло: Ссылка на объект не указывает на экземпляр объекта. System.Web.HttpContext.Current.get возвращается нуль. Вот мой код: String путь = HttpContext.Current.Server.MapPath ( "/ App_Data"); Путь = путь + "/Acknowledgement_Letter.dotx";
Josh
1

голосов
1

ответ
246

Просмотры

Переход на новую страницу и отобразить окно предупреждения

Я занимаюсь разработкой приложений с использованием ASP.Net WebForm. После того, как пользователь нажимает на кнопку, приложение будет переходить на новую страницу и запрос из диалогового окна «Добро пожаловать в JackiesGame» Тем не менее, мне удалось перейти на новую страницу, но диалоговое окно с предупреждением не отображается. Ниже мой пример кода недействительным cmdCancel_Click (объект отправителя, EventArgs е) {HttpContext.Current.Response.Redirect (Globals.NavigateURL (табетический), правда); Страница страница2 = HttpContext.Current.CurrentHandler, как страницы; ScriptManager.RegisterStartupScript (стр.2, page2.GetType (), "alertMessage", "предупреждение ( 'Вставить успешно')", правда); }
Chan Yoong Hon

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

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