Вопросы с тегами [global-asax]

1

голосов
2

ответ
34

Просмотры

Как добавить псевдоним импортировать пространство имен в global.asax

Это, как вы импортируете в global.asax Я хочу, чтобы создать псевдоним для этого пространства имен. Нечто подобное, используя псевдоним = Some.Namespace; в C # класса. Как это сделать? Спасибо
Dhian Galang
1

голосов
2

ответ
1.3k

Просмотры

asp.net MVC 2 Global.asax.cs игнорируются

У меня были проблемы отладки, почему маршрут бросание 404, когда я был уверен, я поставил его правильно. Я сделал изменения, перестроено, еще 404, я сделал все виды сумасшедших вещей на маршрут, но всегда 404. тогда в моем отчаянии я просто удалил все маршрутизацию в global.asax, сохранённый перестроен и побежал. Я до сих пор получил 404 ... но остальная часть сайта не нарушала !! как это может быть? Я думал, что вы в пути маршрут или ничего бы работать ... даже мой заказ маршрутизации все еще работал. Я перестроен, повторно сохраненный web.config. Я даже остановился на веб-сайте, и даже пул приложений и даже IIS ENIIRELY, затем перезапустить evertyhing ... все мои маршрутизации по-прежнему кажется, что там! Я даже бросил деление на ноль и даже FORCED исключение быть выброшено на Application_Start ... ни один из них не изменилось ничего ... что в святой ад происходит? мои маршруты кэшируются где-нибудь? ГДЕ?!
SelAromDotNet
1

голосов
1

ответ
527

Просмотры

Проверка подлинности Windows для проверки подлинности пользовательских работы с профилем

Пользуюсь аутентификация окна с профилем и хотел, чтобы перевернуть к пользовательской аутентификации. Мой вопрос Как я могу определить, что мой пользователь проходит проверку подлинности и как установить Profile.UserName. Я знаю, что Profile.UserName является ReadOnly. В моей Web.Config, я изменить режим проверки подлинности = «None» и настроить IIS на разрешенное Anonymous. В global.asax я проверяю, если Cookie существуют для пользователя, если нет, то пользователь перенаправление на страницу входа в систему. Когда он представить, создать печенье, и в этот момент, я бы установить профиль инфо. Если кто-то может просто дать мне ссылку о том, что я был бы очень признателен.
Jean-Francois
1

голосов
3

ответ
315

Просмотры

Изменение атрибута ScriptManager глобально

В каждых проектах у нас есть несколько страниц, которые имеют следующий тег Теперь мы хотели бы изменить тех (около 80% страниц) Есть ли способ сделать это из одного источника, например, Web.config или Global.asax или с использованием любого HttpHandler ,
Hoque
1

голосов
1

ответ
279

Просмотры

как я могу использовать Global.asax и реализовать обработчик для него?

У меня есть Global.ascx и я написал простой модуль URL писатель: недействительным (отправитель объекта, EventArgs е) {Application_BeginRequest попробовать {строка strPath = Context.Request.Url.AbsoluteUri; Строка [] секции = strPath.Split ( '/'); INT Len = sections.Length; Строка strExtention = секции [LEN - 1] .split ( '') [1]; если (strExtention.ToLower () TrimEnd () Равно ( "XML")..) {если (секции [LEN - 2] .equals ( "ATM")) Context.RewritePath ( "~ / включить / XML файлы / Приказы / TMP /»+ секция [LEN - 1]); еще Context.RewritePath ( "~ / включить / XML файлы / Приказы /" + секции [LEN - 1]); }} Поймать {}} это работает локально, но работа dosen't в хозяине, как я могу реализовать обработчик для этого? Сервер.
kamiar3001
1

голосов
1

ответ
1.1k

Просмотры

asp.net Не удалось проверить данные

Я получаю эту ошибку, и я знаю, что это вызвано. Есть много причин, но в моем случае, вопрос заключается в том, что MachineKey отличается от сервера к серверу (в веб-фермы), и поэтому, когда он jumpes от машины к машине, он не может расшифровать ViewState и / или печенье. Я устранил эту проблему, однако, есть некоторые пользователи по-прежнему остаются с куки на свою машине, написанной со старым MachineKey, и они получают эту ошибку. Мне нужен хороший способ справиться с этой ошибки, зарегистрировать их и затем перенаправляет обратно на страницу входа в систему. Я пытался поставить обработчик исключений в global.asax в Application_Error, но это, кажется, не срабатывает для этой ошибки. Есть другие ошибки, которые происходят, и я фильтруется, чтобы поймать только эту ошибку (посмотрев на исключение). У меня есть CustomErrors «на» в web.config. Как мне это сделать?
M.R.
1

голосов
1

ответ
416

Просмотры

как знать, когда переменная уровня приложения изменяется asp.net

Я с переменным уровнем приложения хранятся в кэше в global.asax файле: аннулируются Application_Start (объект отправителя, EventArgs е) {Application.Lock (); Список myobjects = новый список (); HttpContext.Current.Cache [ "Список"] = myobjects; Application.UnLock (); } И я к нему доступ и изменить его на странице: охраняемую недействительным Page_Load (объект отправителя, EventArgs е) {Список myobjects = (Список) HttpContext.Current.Cache [ «Список»]; // изменяет myobjects ... HttpContext.Current.Cache [ "Список"] = myobjects; } Вопрос: * Предположим, у нас есть два пользователя (браузеры), работающие с этого сайта в то же время (например, они беседуют). Как уведомить другой пользователь, когда один пользователь изменяет myobjects переменный? * Мы могли бы проверить myobjects и сравнить со старыми один периодически с помощью таймера. Но это не самый лучший способ.
Nurlan
1

голосов
1

ответ
1.3k

Просмотры

Не удалось загрузить тип namespace.global синтаксической ошибке на развертывание в IIS

Я пытаюсь развернуть веб-приложения ASP.NET с помощью установки Visual Студия веб project.Every вещь будет нормально, при попытке получить доступ к приложению из браузера я получаю эту ошибку .. Не удалось загрузить тип namespace.global. Вот мой файл global.asax .. А вот мой Global.asax.cs .. пространство имен DCMSWebSetup {общественный класс Global: System.Web.HttpApplication {аннулируются Application_Start (объект отправителя, EventArgs е) {// Код, который работает по применению запуск} Я искал в Интернете и попытался следующие предложения, но напрасно только .. 1.Changed Codebehind к CodeFile 2.Checked Выходной путь к / Bin, который уже был там только. 3.Changed Копировать в выходной каталог для копирования всегда. Все эти варианты не работают в моем случае. Что еще может быть не так?
user3617097
1

голосов
1

ответ
1.1k

Просмотры

Application_Start не попал после того, как IISRESET или web.config изменения

Ситуация странно. Мы разработали систему развертывания для нашего внутреннего использования. Скачивает система скомпилированных двоичных файлов и скопировать в каталог приложений с использованием Robocopy, за исключением файлов без изменений. Проблема, после этой операции, приложение не ударило Application_Start. Даже мы перезапускать домен приложения. (Я даже перезапущен сам, но не везение IIS) Я даже изменить web.config вручную после автоматического развертывания, опять не повезло. Я бегу IISReset, то же самое, не попал Application_Start. Но приложение работает! мы используем сервер состояний, и мы по-прежнему использовать приложение, как ничего СЛУЧИЛОСЬ (кроме переменных приложения, все они исчезают) В Application_Start мы инициализируем некоторые переменные приложения, добавляя, как следующее: logger.info ( «бла-бла»); Application.Add ( "KEY", somevaluefromdb); Мы не видим никаких сообщений журнала тоже. Но когда я разворачивать же двоичные файлы вручную (путем копирования и вставки.), Хиты Application_Start, мы видим, сообщение журнала и переменные инициализируются. Кто-нибудь столкнуться с такой ситуацией?
Burak SARICA
1

голосов
2

ответ
5.4k

Просмотры

Как «session_start» в global.asax работает?. MVC

I'am пытается uderstand насколько "session_start" в global.asax работает. Скажем, у меня есть несколько страниц на моем сайте. Например: I'am на входе «страницы А», то функция «session_start» стреляет. Тогда I'am собирается «страница B», и что чем?. Функция будет снова стрелять, или нет?. I'am пытается писать код, который будет проверять, что куки «User» существует, и если есть, код будет возвращать переменную Session [ «Имя пользователя»], но I'am не уверен, что «session_start» хорошее место для этого ..
Shagohad
1

голосов
1

ответ
391

Просмотры

Может Тайм-аут сеанса и FormAuthentication Timeout сделать этот эффект, как будет я изменить его?

У меня есть Asp.net сайт project.I ищет активных числа пользователей (активные сеансы) с помощью Global.asax файла; аннулированию Application_Start (объект отправителя, EventArgs е) {// Код, который запускается при запуске приложения Application [ "UsersOnline"] = 0; } Недействительными session_start (объект отправителя, EventArgs е) {} недействительными Session_End (объект отправителя, EventArgs е) {Application.Lock (); Применение [ "UsersOnline"] = (INT) Применение [ "UsersOnline"] -1; Application.UnLock (); } И это Войти страницу, где я увеличиваю состояние приложения, когда пользователь войти; защищенный недействительный Login1_Authenticate (объект отправитель, AuthenticateEventArgs е) {строка ConnectionString = WebConfigurationManager.ConnectionStrings [ "LocalSqlServerTracking"] ConnectionString. строка SqlString; SqlString = " если (чтение) {Session [ "Name"] = Login1.UserName; Session [ "Пароль"] = Login1.Password; . Сессия [ "ID"] = читателя [ "ID"] ToString (); INT J = Convert.ToInt32 (Session [ "ID"]); переменная соответствует = от р в entities.Employees, где p.ID == ID Выбор р; // Выполнить запрос и возвращает объект сущности. Сотрудник EMP = matches.Single (); // Изменение объекта сущностей. emp.SessionStateID = 0; // Зафиксируйте изменения в базу данных. юридические лица. Сохранить изменения(); Применение [ "UsersOnline"] = (INT) Применение [ "UsersOnline"] + 1; e.Authenticated = TRUE; } Еще {Label1.Text = "Пользователь не существует"; e.Authenticated = ложь; } Теперь, если я войти приложения увеличение State на 1, после выхода из системы и Логгина еще 1, при использовании новой вкладки войти с тем же пользователем или другого пользователем увеличением государственного приложения к 2.Which работает great.However после того, как прошло некоторое время, я вошел в и увидеть отрицательное значение как -7. Единственное, что я могу думать Session Timeout.If я использую Session.Abandon () будет Тайм-аут сеанса еще эффект, через какое-то время? Как я буду предотвратить это, не должно быть дело, или если есть что-то я не могу видеть, что это может быть?
YourSolutionPartner
1

голосов
1

ответ
158

Просмотры

События в Global.asax

Ниже пример URL задается локальный / MyPage.aspx / 1582% 20 asp.net выдаст ошибку о том, что эта страница не существует, и, насколько я знаю, что это из-за% 20 в конце URL. ошибка быть пойманным Application_Error в Global.asax, однако я хотел бы, чтобы быть перенаправлены на страницу, и я также хотел бы мой Application_Error для входа ошибки, нет переадресации страницы Существуют ли другие события в Global.asax, что я могу использовать чтобы справиться с этим перенаправление? Я попытался PreSendRequestHeaders, но все-таки идет на Application_Error Спасибо.
Jan Lyndon Jasa
1

голосов
1

ответ
1.8k

Просмотры

Пользовательские 404 ошибок с помощью Global.asax файла не всегда работает

В настоящее время мы используем конфигурационный файл, чтобы бросить страницу 404 ошибки, однако мы хотели бы, чтобы переместить его в файл Global.asax, как мы хотим, чтобы иметь возможность использовать несколько страниц 404 ошибок, в зависимости от того, где пользователь находится на этой странице. Наша текущая настройка: Мы добавили проверку StatusCode в Application_Error в файле Global.asax. если (StatusCode == 404) {Response.Redirect (String.Format ( "/ PageNotFound.aspx")); } Однако при удалении HttpErrors из конфигурационного файла, то ошибка приложения не вызывается, если только мы не бросайте код 404 ошибки на странице. Как и наш раздел новостей, если новости статьи не существует, мы бросаем страницу 404 ошибки, и он идет на страницу правильной ошибки (т.е. Http:.? // [сайт] .com / статьи статьи = ла - Эту статью не существует). Я пробовал различные вещи, однако он всегда показывает страницу ошибки IIS 404, а не обычай один, когда просто введя название неправильно страницы (т.е. HTTP: //. [сайт] .com / л - Эта страница не существует). Пытаясь отлаживать его, точка останова в Application_Error в файле Global.asax никогда не попал. Нам нужно, чтобы получить Application_Errors работы, так что его также называют, когда вы идете на страницу, которая не существует.
Lex
1

голосов
2

ответ
0

Просмотры

Castle Windsor PerWebRequest LifeStyle and Application_EndRequest

I'm registering some components related to Linq2Sql using PerWebRequest lifestyle. I see them get created, but they get destroyed before my global's Application_EndRequest method gets called. Is that by design? Does anyone know a work around? I want to call commit on my UnitOfWork object to submitchanges() at the end of every request. In addition to using the Global.asax Application_EndResult, I've also tried an IHttpModule with the same results. I'm using Castle 2.0. Here's how I'm registering my stuff with PerWebRequest. I am creating a DataCOntextProvider object that holds onto a L2S DataContext. That object is injected into the UoW. /// /// Register the IUnitOfWorkManager to resolve to LinqToSqlUnitOfWorkManager per web request /// public void RegisterLinq2SqlUnitOfWorkPerWebRequest() { _container.Register(Component.For() .LifeStyle.PerWebRequest .ImplementedBy()); } /// /// Register the IDataContextProvider to resolve to DataContextProvider per web request /// public void RegisterDataContextProviderPerWebRequest() { _container.Register(Component.For() .LifeStyle.PerWebRequest .ImplementedBy()); } Now I am simply trying to pull the UoW from the container via the CommonServiceLocator (both CSL and Windsor Adapter are 1.0) from the EndRequest like this: protected void Application_EndRequest(object sender, EventArgs e) { //ignore unless this is a page (.aspx) or handler (.ashx) if (!RequestCanHaveContext()) return; //get the IUnitOfWork manager var uow = ServiceLocator.Current.GetInstance(); //if we have one, commit changes at the end of the request if (uow != null) { //don't explicitly dispose of uow or we'll get Disposed exceptions on the context uow.Commit(); } } Thanks, Corey
Corey Coogan
1

голосов
3

ответ
0

Просмотры

ограничить доступ к документу файлов asp.net

У меня есть папка в моем asp.net приложение conatining файлов DOC, которые могут быть доступны только (dowwload) определенным типом подключенных пользователей (учетной записи администратора или допускаемых другие счета), как я могу это сделать? есть идеи? заранее спасибо.
1

голосов
1

ответ
0

Просмотры

Переменная ASP.NET Application против чтения из ConfigurationSettings.AppSettings

Существует аналогичный вопрос размещен на переменной Application Vs Web.Config переменной, но мой немного отличается, и я не уверен, с ответом там. Поэтому, если я определяю переменную приложения в моем global.asax так: общественный класс Global: System.Web.HttpApplication {открытые статические чтения строк X = ConfigurationSettings.AppSettings [ «XsltExternal»]; // остальная часть кода здесь} Не следует ли это операция чтения строки Y = Global.X; быстрее, чем строки Y = ConfigurationSettings.AppSettings [ "XsltExternal"]; из-за избежать хеш поиск (предполагая, что, как ASP.Net сохраняет настройки web.config)? Мое приложение использует тонны настроек конфигурации и проверки для него на протяжении страницы цикла, так что я надеюсь, что я воспользоваться каждым одиночным мсом, что я могу спасти. Мысли кто-нибудь? PS:
Vishal Seth
1

голосов
1

ответ
382

Просмотры

Application_OnError не всегда работает

Я испытываю странную проблему. Мы имеем обработки в global.asax ошибки, которая будет перенаправлять пользователь на специальной странице в случае, если произошла ошибка: недействительный Application_Error (объект отправитель, EventArgs е) {....... строка pageError = «~ / LastError.aspx AfterNextClick = «+ afterNextClick.ToString (); если (Request [ "справы"]! = NULL) pageError + = "& справы =" + Request [ "справы"]; Server.Transfer (pageError); } Пользовательские ошибки отключены. Большинство раз Application_OnError работает отлично и перенаправляет пользователей на определенную страницу, но иногда, пользователи не перенаправлены в любом месте и отображается страница с исключением ASP.NET. Так есть ли какие-либо ситуации, в которых Application_OnError в global.asax не будет стрелять?
Georgy Smirnov
1

голосов
1

ответ
3.3k

Просмотры

Переписать URL веб-службы ASMX

Я пытаюсь отобразить входящий URL из Ajax запроса к методу веб-службы в Global.asax. Веб-сервис в этом пути /ajax/BookWebService.asmx, он имеет 2 метода GetListOfBook и GetListOfAuthor. Я хочу использовать URL: / Ajax / книгу / список вместо URL: /ajax/BookWebService.asmx/GetListOfBook в тэге. Вот мой сценарий и наценки: $ (функция () {$ ( "# btnCall") нажмите (функция () {$ .ajax ({типа:. "POST", URL: "/ Ajax / книга / список", данные: "{}", CONTENTTYPE: "приложения / JSON, кодировка = UTF-8", DATATYPE: "JSON", успех:. функция (ответ) {список вар = response.d; $ ( '# callResult') HTML (список);}, ошибка: Функция (MSG) {Alert ( "Ой, что-то пошло не так"); }}); }); }); Вот Global.asax: пустота Application_BeginRequest (объект отправителя, EventArgs е) {вар currentRequest = HttpContext.Current.Request.Url.AbsolutePath; если (currentRequest.Contains ( "Аякса / книга / список")) {HttpContext.Current.RewritePath ( "/ Ajax / BookWebService.asmx / GetListOfBook"); }} Когда я проверяю в FireBug консоли это то, что я получаю: "NetworkError: 500 Внутренняя ошибка сервера - локальный: 13750 / Ajax / книга / список" Если изменить URL: / Ajax / книга / список для URL: / Ajax / BookWebService.asmx / GetListOfBook это работает, как ожидалось. Я использую VS 2010 и .NET 4. Как сделать AJAX вызов / Ajax / книга / список вместо /ajax/BookWebService.asmx/GetListOfBook? Вот Global.asax: пустота Application_BeginRequest (объект отправителя, EventArgs е) {вар currentRequest = HttpContext.Current.Request.Url.AbsolutePath; если (currentRequest.Contains ( "Аякса / книга / список")) {HttpContext.Current.RewritePath ( "/ Ajax / BookWebService.asmx / GetListOfBook"); }} Когда я проверяю в FireBug консоли это то, что я получаю: "NetworkError: 500 Внутренняя ошибка сервера - локальный: 13750 / Ajax / книга / список" Если изменить URL: / Ajax / книга / список для URL: / Ajax / BookWebService.asmx / GetListOfBook это работает, как ожидалось. Я использую VS 2010 и .NET 4. Как сделать AJAX вызов / Ajax / книга / список вместо /ajax/BookWebService.asmx/GetListOfBook? Вот Global.asax: пустота Application_BeginRequest (объект отправителя, EventArgs е) {вар currentRequest = HttpContext.Current.Request.Url.AbsolutePath; если (currentRequest.Contains ( "Аякса / книга / список")) {HttpContext.Current.RewritePath ( "/ Ajax / BookWebService.asmx / GetListOfBook"); }} Когда я проверяю в FireBug консоли это то, что я получаю: "NetworkError: 500 Внутренняя ошибка сервера - локальный: 13750 / Ajax / книга / список" Если изменить URL: / Ajax / книга / список для URL: / Ajax / BookWebService.asmx / GetListOfBook это работает, как ожидалось. Я использую VS 2010 и .NET 4. Как сделать AJAX вызов / Ajax / книга / список вместо /ajax/BookWebService.asmx/GetListOfBook? Url.AbsolutePath; если (currentRequest.Contains ( "Аякса / книга / список")) {HttpContext.Current.RewritePath ( "/ Ajax / BookWebService.asmx / GetListOfBook"); }} Когда я проверяю в FireBug консоли это то, что я получаю: "NetworkError: 500 Внутренняя ошибка сервера - локальный: 13750 / Ajax / книга / список" Если изменить URL: / Ajax / книга / список для URL: / Ajax / BookWebService.asmx / GetListOfBook это работает, как ожидалось. Я использую VS 2010 и .NET 4. Как сделать AJAX вызов / Ajax / книга / список вместо /ajax/BookWebService.asmx/GetListOfBook? Url.AbsolutePath; если (currentRequest.Contains ( "Аякса / книга / список")) {HttpContext.Current.RewritePath ( "/ Ajax / BookWebService.asmx / GetListOfBook"); }} Когда я проверяю в FireBug консоли это то, что я получаю: "NetworkError: 500 Внутренняя ошибка сервера - локальный: 13750 / Ajax / книга / список" Если изменить URL: / Ajax / книга / список для URL: / Ajax / BookWebService.asmx / GetListOfBook это работает, как ожидалось. Я использую VS 2010 и .NET 4. Как сделать AJAX вызов / Ajax / книга / список вместо /ajax/BookWebService.asmx/GetListOfBook?
Narazana
1

голосов
1

ответ
2k

Просмотры

Dependency Injection в global.asax

Инъекция зависимостей в Global.asax, кажется, не всегда работает. Иногда это происходит, иногда я получаю ContextDisposedException (кажется, что проблема возникает, когда я делаю Page.Redirect ??). Я в контексте ASP.NET WebForm. Вот мой код: общественный класс Global: HttpApplication {[Inject] общественного UserManager UserManager {получить; задавать; } Частная пустота Application_PostAuthenticateRequest (объект отправителя, EventArgs е) {если (User.Identity.IsAuthenticated) {GlobalSecurityContext.SetPrincipal (Пользователь); строка пути = Request.AppRelativeCurrentExecutionFilePath; если (path.Contains ( "ASPX.")) {// Получить текущую пользователя вар USERDATA = UserManager.GetByIdWithLogin (Пользователь.Идентичность.Имя); если (USERDATA! = NULL) {LoginDataDTO данных = userData.LoginData; если (data.XXX && ...) {Response.Redirect (...); }}}}} Защищены недействительным Session_End (отправитель объекта, EventArgs е) {UserManager.Logout (); }} В этом посте Как инъекционные зависимостей в Global.asax.cs, Марк Seemann говорит, что не следует использовать Dependency Injection в global.asax, поскольку global.asax является состав Root. Так что это лучший способ, чтобы решить мою проблему, так как я не хочу напрямую вызывать мой UserManager, так как конструктор нуждается в хранилище общественного UserManager (IGenericRepository хранилища): база (хранилище) {} и GenericRepository имеет себе конструктор, который нуждается в общественной GenericRepository IContext (IContext контекст) {} Я мог бы сделать новый UserManager (новый GenericRepository (новый MyContext)), но я не буду использовать тот же контекст, в целом запрос нужно добавить ссылку на мой AccessLayer в GUI, что я хотел бы избежать подобно тому, как информации, в настоящее время я инъекционного контекста, как это: // Динамически загружает контекст, так что мы не имеем прямую ссылку на Это! строка contextType = // тип из web.config чтения, если {тип контекста = Type.GetType (contextType) (String.IsNullOrEmpty (contextType)!); . Bind () К (контекст) .InRequestScope (); } Любая помощь будет принята с благодарностью! [Изменить]: Изменение свойства UserProperty как это работает: общественного UserManager UserManager {получить {вернуться ServiceLocator.Current.GetInstance (); }}
Bidou
1

голосов
1

ответ
354

Просмотры

Global.asa файл в смешанном приложения в IIS 7.5 пожаров для ASP.Net страницы также

У меня есть веб-приложение, которое имеет как классические ASP и ASP.Net страниц. В приведенном ниже сценарии будет событие начала сеанса, также срабатывает в Global.asa при обращении к странице ASP.Net? Пользователь имеет закладку страницы ASP.Net, и он попадет на страницу входа в системе, когда пользователь пытается получить доступ к нему. После входа пользователя в систему с этой страницы ASP.Net, пожары событий session_start в Global.asax, но и то же событие и огонь в Global.asa?
Sunil
1

голосов
1

ответ
765

Просмотры

Какая HttpConfiguration объекта мне нужно, чтобы получить доступ для создания пользовательского HttpParameterBinding?

В этом посте, Майк Вассон гласит: «Кроме ParameterBindingAttribute, есть еще один крючок для добавления пользовательских HttpParameterBinding На объекте HttpConfiguration.» Но у меня есть три HttpConfiguration объекты в моем веб-приложение API, а именно: государственной статической силы регистра (HttpConfiguration конфигурации, IWindsorContainer контейнер)
B. Clay Shannon
1

голосов
2

ответ
449

Просмотры

MVC глобальных исключений

Я кодирование Интернет приложения к MVC 5, и у меня есть вопрос в отношении обработки исключений в глобальном масштабе. У меня есть мои настройки Application_Error в моем файле global.asax. Это обслуживает ошибки, такие, как 404 HttpExceptions. Как я могу отправить все ошибки, которые возникают в контроллере для функции Application_Error? Примером может служить следующее исключение: System.Web.HttpRequestValidationException: потенциально опасное значение Request.Form было обнаружено от клиента (имя = «»). Я написал OnException (ExceptionContext filterContext) для моего контроллера, но я не уверен, как получить функцию Application_Error обрабатывать эти ошибки. Мне нужно передать исключение из функции OnException, или это неправильный подход ли? Заранее спасибо.
user3736648
1

голосов
1

ответ
1k

Просмотры

Использование ссылки на сборку в Global.asax?

У меня есть приложение, что наши морские разработчики пытаются обновить. Код построен без проблем года назад. Теперь, когда они проверка кода и попытаться построить его они получают эталонную ошибку в Global.asax: Ошибка 1 Тип или пространство имен имя «HartSourceLib» не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?) C: \ Users \ rs02130 \ Desktop \ BIP \ BIProductionSupport \ Global.asax 24 9 BIProductionSupport Существует ссылка в списке литературы проекта, указывающей на HartSourceLib DLL. DLL присутствует в указанном месте и тот же DLL используется в оригинальной сборке. Я не знаком с использованием внешних ссылок в Global.asax. Мы пытались использовать, и и никто не решает проблему. Вот образец Global.asax: Мы пропускаем что-то в Global. asax? Если не то, что может быть причиной ссылочного вопроса? Примечания: Они используют VS2010 и 3.5 Framework. Я преобразовал решение в VS2012 и Framework 4.5. Ни работа.
1

голосов
1

ответ
3.7k

Просмотры

Redirect to Error Page Fail on Application Error in Global.asax (MVC)

Я с трудом пытаюсь перенаправить на мой контроллер обработки ошибок, когда ошибка приложения встречается в Global.asax. Вот мой RouteCollection routes.IgnoreRoute ( "{} ресурсного .axd / {* Pathinfo}"); routes.MapRoute ( "По умолчанию", // название маршрута "{контроллер} / {действие} / {ID}", // URL с параметрами новых {контроллер = "Home", действие = "Index", ID = UrlParameter.Optional } // по умолчанию параметров); routes.MapRoute ( "DefaultError", "{контроллер} / {действие} / {ID}", новый контроллер {= "HndlError", действие = "AllErrors", ID = UrlParameter.Optional}); И мой Global.asax Application_Error имеет этот this.Context.Response.Clear (); this.Context.ClearError (); //this.Response.Redirect("~/HndlError/AllErrors ") // Это один работает !!! this.Response.RedirectToRoute (новый контроллер {= "HndlError", действие = "AllErrors", ID = ErrorMessage}); // Это не работает this.Response.End (); Мой контроллер Действие действительно получить удар при использовании Response.Redirect, но возвращает пустую страницу с RedirectToRoute. Сделал несколько больше искать, а потом наткнулся на этот перл! Остерегайтесь ResponseRedirectToRoute в MVC 3 Означает ли это, он не будет работать в MVC3 или я что-то отсутствует? Пожалуйста помоги. Спасибо // Это не работает this.Response.End (); Мой контроллер Действие действительно получить удар при использовании Response.Redirect, но возвращает пустую страницу с RedirectToRoute. Сделал несколько больше искать, а потом наткнулся на этот перл! Остерегайтесь ResponseRedirectToRoute в MVC 3 Означает ли это, он не будет работать в MVC3 или я что-то отсутствует? Пожалуйста помоги. Спасибо // Это не работает this.Response.End (); Мой контроллер Действие действительно получить удар при использовании Response.Redirect, но возвращает пустую страницу с RedirectToRoute. Сделал несколько больше искать, а потом наткнулся на этот перл! Остерегайтесь ResponseRedirectToRoute в MVC 3 Означает ли это, он не будет работать в MVC3 или я что-то отсутствует? Пожалуйста помоги. Спасибо
Deb
1

голосов
3

ответ
6.2k

Просмотры

Enable CORS in Sharepoint 2013

Мне нужно сделать CORS из / в различных областях Sharepoint, и, конечно, справиться с ОПЦИИ предполетной запрос. После долгих исследований я обнаружил, что это решение (почти) лучше всего подходит для моих потребностей. Изменить global.asax позволяет обрабатывать более одного домен с учетными данными прошли, и OPTIONS предполетного запроса. Плохая сторона в том, что после его применения, как предложено, вы не можете войти в Sharepoint Designer больше. Я изменил global.asax, как показано ниже, CORS в порядке, но Sharepoint Designer нет. общественного недействительными Application_BeginRequest (объект отправителя, EventArgs е) {строка httpOrigin = Request.Params [ "HTTP_ORIGIN"]; если (httpOrigin! = NULL) {HttpContext.Current.Response.AddHeader ( "Access-Control-Allow-Origin", httpOrigin); HttpContext.Current.Response.AddHeader ( "Access-Control-Allow-методы", «GET, POST, PUT, DELETE, так что я не знаю, где он выходит из строя. Когда я пытаюсь войти в Sharepoint Designer, я получаю всегда 401 в качестве ответа. Есть ли кто-то знает, как решить? Спасибо так что я не знаю, где он выходит из строя. Когда я пытаюсь войти в Sharepoint Designer, я получаю всегда 401 в качестве ответа. Есть ли кто-то знает, как решить? Спасибо
Speeder
1

голосов
1

ответ
4k

Просмотры

asp.net Global.asax.cs и разница global.asax

Мой global.asax файл. Похоже, что с помощью системы; используя System.Collections.Generic; используя System.Linq; используя System.Web; используя System.Web.Security; используя System.Web.SessionState; Пространство имен хххх {общественного класса Global: System.Web.HttpApplication {защищен недействительным Application_Start (объект отправителя, EventArgs е) {}}}, но когда я смотрю другие global.asax файл кажется недействительной Application_Start (объект отправителя, EventArgs е) {// Код, который запускается при запуске приложения}, почему мой файл global.asax отличается от них? Я использую 4.0 framework.When Старается маршрутизация, мой проект не может видеть мои правила маршрутизации.
serdar
1

голосов
4

ответ
305

Просмотры

Будет ли Application_Start событие уволят, если нет запроса войти?

Будет Application_Start в Global.asax обжигаться перед любой запрос приходит в?
Taol
1

голосов
1

ответ
492

Просмотры

Очистить Cookies на Session_End C #

Можно ли очистить куки браузера на Session_End? Учитывая, что нет никакого контекста, нет запроса и нет ответа? Кроме того, не представляется возможным поставить значения на сессии, а не в печенье. Это делается с помощью стороннего приложения. Изменить: Я забыл упомянуть, что сайт использует SSO. И печенье, что я пытаюсь получить доступ является печенье SSO.
Ray
1

голосов
1

ответ
225

Просмотры

MVC 4.0 События в global.asax не будет стрелять

Я использую MVC 4.0. События в global.asax огонь, когда я просматриваю сайт, первый собирается на главную страницу. Проблема заключается в том, когда я занимаюсь серфингом на прямую страницу на сайте с некоторыми параметрами URL-адреса, событие session_start не будет срабатывать. Зачем? Могу ли я запустить это вручную?
Itay.B
1

голосов
1

ответ
653

Просмотры

Перенаправление 401 в web.config или global.asax EndRequest события?

У меня есть сайт, который использует проверку подлинности в формах, но Логин URL на самом деле страница ( «WinLogin.aspx»), который настроен на использование проверки подлинности Windows. Таким образом, если пользователь находится в нашей сети, WinLogin.aspx захватывает их доменное имя пользователя, и они могут продолжать в приложение без необходимости повторного ввода имени пользователя и пароля. Но если они не вошли в домен, WinLogin.aspx дает ошибку 401, что браузер будет нормально интерпретировать, задавая пользователь их имя пользователя и пароль для проверки на сервер домена. Я хочу, чтобы перенаправить эти 401 ошибок в мою пользовательской странице, которая получает это имя пользователя и пароль, так что я могу сделать настоящую аутентификацию формы, потому что некоторые из счетов в моем приложении не имеет соответствующую учетную запись домена. Я могу сделать перенаправление ошибки 401 в файле web.config, как это: Или, я могу сделать это с кодом в конце концов global.asax обработчика запроса, как это: ничтожной Application_EndRequest (объект отправителя, System.EventArgs е) {если (((Response.StatusCode == 401) && (Request.IsAuthenticated == верно ))) {Response.ClearContent (); Response.Redirect ( "~ / Redirect401.aspx"); }} Есть ли какая-либо причина предпочитает либо метод?
AgapwIesu
1

голосов
1

ответ
576

Просмотры

Using .NET (website project), how can I intercept all incoming image requests and alter their request path?

Спасибо за будущее. Фон я унаследовал очень старые (12 лет) веб-сайта .NET проект, что использует веб-формы архитектуры. Это очень большой кодовая и, при работе на веб-сервере, зависит от очень большой локальной папке ресурсов изображений. Я работаю удаленно и сказали, что папка изображения не будут добавлены в систему управления версиями; Однако, я могу получить доступ к нему через сетевую папку (если они подключены к VPN). Если я жестко закодировать любой из изображений, чтобы использовать сетевой путь, они прекрасно работают, но это, очевидно, не является хорошим решением, так как есть тысячи изображений. Вопрос Можно ли перехватить любой входящий запрос на файл изображения и, если локальная папка изображения не найден (т.е. в развитии на моей машине), используйте сетевой путь URI вместо того, чтобы получить изображение? Если так, что такое правильный способ сделать это? То, что я Пытался я пытался перехватывать запросы в методе Application_BeginRequest в global.asax (который я был удивлен, обнаружив в таком старом проекте), но это не перехватывает запросы изображения, по-видимому. Мое мышление было то, что я мог бы реструктурировать на URL там, а затем комментарии этого кода в производстве, но и кажется, что не было бы отличным решением. Заранее спасибо.
Matt Cashatt
1

голосов
2

ответ
555

Просмотры

реализация анти-CSRF в MVC 3

Я хотел бы реализовать анти-CSRF токен в Global.asax файл MVC 3. Это возможно осуществить то же самое в Gloabl.asax файле.
Ask_SO
1

голосов
2

ответ
928

Просмотры

Обрабатывать все запросы на ASP.NET пустой веб-приложения

Я хочу, чтобы обрабатывать все запросы. Я не могу обрабатывать запросы, которые имеют расширение. Позвольте мне показать вам, что я имею в виду. 1) Прежде всего позвольте мне показать вам, что мой веб-приложение (это очень просто) Web.config Global.asax с помощью системы; Пространство имен DeleteMeWebAppliation {общественный класс Global: System.Web.HttpApplication {защищен недействительным Application_BeginRequest (объект отправителя, EventArgs е) {Console.Write ( "Test"); } Защищен недействительным Application_Error (объект отправителя, EventArgs е) {Console.Write ( "Тест"); }}} Default.aspx с помощью системы; Пространство имен DeleteMeWebAppliation {общественный частичный класс по умолчанию: System.Web.UI.Page {защищен недействительным Page_Load (объект отправителя, EventArgs е) {Console. ЕЫпе ( "тест"); }}} Handle404.aspx с помощью системы; Пространство имен DeleteMeWebAppliation {общественный частичный класс Handle404: System.Web.UI.Page {защищен недействительным Page_Load (объект отправителя, EventArgs е) {Console.Write ( "Test"); }}} 2) Теперь вот проблема: Обратите внимание, у меня есть точки останова на всех линиях Console.Write ( «Test») моя цель состоит в том, чтобы обрабатывать все запросы. ** Другими словами, я хочу попасть в данную контрольную точку каждый раз, когда я делаю запрос на IIS независимо от URL. а) Когда я иду к HTTP: // локальный: 65284 / It Works (I точки останова) б) Когда я иду к HTTP: // локальный: 65284 / SomeNoneExistingPage.aspx это работает (я достиг точки останова) в) Когда Я иду к HTTP: // локальный: 65284 / Foooooo это работает (я ударил точки останова) D) Когда я иду к HTTP: // Localhost: 65284 / Foooooo / fooo / fooo / тест. ASPX это работает (я ударил точки останова) е) Когда я иду к HTTP: // локальный: 65284 / foo.test Это FAILS (я HIT NO BreakPoint) Почему точка останова по методу Application_Error не попал !? е) Когда я иду к HTTP: // локальный: 65284 / Foo / foo.jpg Это FAILS (я HIT NO BreakPoint) Почему точка останова по методу Application_Error не попал !? В общем, как я могу выполнить свой собственный код, когда кто-то идет к HTTP: // локальный: 65284 / foo.test, например. Все прекрасно работает, но в тот момент я иду в URL, который имеет «» с чем-то другим, а не ASPX в конце, то он терпит неудачу! Есть много мест в Интернете, которые показывают, как обрабатывать ошибки 404, но по некоторым причинам я не могу заставить ее работать. Это то, что я получаю, когда я иду к HTTP: // локальный: 65284 / foo.test я получаю ошибку 404 и по какой-то причине я не попадаю на 404 обработчика. Я попадаю, если ссылка заканчивается в ASPX. Это не имеет никакого смысла
Tono Nam
1

голосов
1

ответ
2.1k

Просмотры

Как начать Aspnet_wp.exe без стрельбы Application_Start события

Я пытаюсь отладки веб-службы (Windows XP SP3, VS 2008, ASP.NET 2, VB.NET). Для большинства из него, если процесс asp.net работника уже загружен, я могу начать форму Windows, которая вызывает веб-службу, прикрепляется к aspnet_wp.exe в Visual Studio, а затем отлаживать содержание моего сердца, но поймать запуск приложения событие global.asax является боль. Если сбросить IIS, конечно нет никакого процесса прикрепиться к, пока событие запуска приложения не на всем протяжении. Единственный способ, которым я нашел, чтобы это сделать, это создать отдельную страницу ASPX, установить его в качестве стартовой страницы, и запустить что - то я могу остановиться на перерыв в стартовом событии App, но это неудобство того, чтобы поддерживать страницу что в основном только тест заглушки. Любые идеи, для чего-то немного аккуратней? Вид, «Присоединить к процессу, как только он начинает». А еще лучше, конечно, было бы не нужно придавать явно aspnet_wp.exe для того, чтобы иметь возможность отладки веб-службы, но я не нашел способ сделать это либо. Спасибо за любые предложения.
ChrisA
1

голосов
2

ответ
6.2k

Просмотры

глобальные методы приложения begin_request asax Application_Start?

У меня проблема. В то время как миграция из режима классического трубопровода в интегрированном режиме трубопровода в IIS 7.0 мы сталкиваемся с проблемой: Ошибка сервера в приложении «/». Запрос не доступен в связи с этим ... Мы нашли решение этой проблемы в mvolo.com/blogs/serverside/archive/2007/11/10/Integrated-mode-Request-is-not-available-in-this-context -в-Application_5F00_Start.aspx Как решение в ближайшее время, в global.asax я должен передать событие Application_Start к Application_BeginRequest событию. аннулированию Application_Start (объект отправителя, EventArgs е) {// отправитель имеет тип 'System.Web.HttpApplicationFactory'} Application_BeginRequest (источник объекта, EventArgs е) | {// Отправитель имеет тип «System.Web.HttpApplication»} Или другое решение, Application_Start событие может начаться позднее Application_BeginRequest. какие-либо предложения ? У меня нет никакого выбора, как выбор «классический режим»
Yaya
1

голосов
3

ответ
6.2k

Просмотры

ASP.NET - Log User Session Start/End Times for Audit Trail - Global.ASAX?

Мой ASP.NET интранета веб-приложение использует проверку подлинности Windows, и я хотел бы записать следующие данные: 1) Окна ID 2) Session Start Time 3) Session Stop Time 4) URL просматриваемого на (необязательно) У меня есть некоторые основные установка кода в методе «session_start» в global.asax войти начала сессии раз (показано ниже), но это все до сих пор. У меня есть ощущение, что это примитивный подход и есть «лучше» способы сделать это. Так что у меня действительно есть два вопроса: 1) Является ли это правильный путь, чтобы идти об этом? Если не то, что некоторые другие варианты? 2) Если это правильный путь, мне просто нужно отказаться от какого-то кода в методе «Session_End», чтобы записать время они выходят, и то полное решение? Имеет ли этот метод всегда вызывается при закрытии вкладки браузера они имеют место открыть в, или же они должны закрывать весь браузер (у меня нет функции выхода из системы)? Любой способ, пользователи могут пропустить этот конец сессии метод (или запустить для этого случая)? Dim connsql As New System.Data.SqlClient.SqlConnection (ConfigurationManager.ConnectionStrings ( "MyConnectionstring"). ConnectionString) Dim cmdsql Как System.Data.SqlClient.SqlCommand = connsql.CreateCommand cmdsql.CommandText = "BeginUserSession" cmdsql.CommandType = Data. CommandType.StoredProcedure Попробуйте cmdsql.Parameters.Add ( "@ windowsid", System.Data.SqlDbType.VarChar, 30, "windowsid") cmdsql.Parameters ( "@ windowsid"). Value = Session ( "UserInfo"). идентичность. Если имя connsql.State System.Data.ConnectionState.Open Тогда connsql.Open () cmdsql.ExecuteNonQuery () connsql.
Albert
1

голосов
4

ответ
244

Просмотры

Как сохранить изображения (и другие файлы) из трубопровода ASP.NET

Как я могу предотвратить некоторые типы файлов из проходящих через трубопровод ASP.NET (наезд global.asax и т.д.)?
Brian David Berman
1

голосов
1

ответ
1.1k

Просмотры

.NET MVC - Где проверить IsInRole () в Global.asax?

В какой части жизненного цикла Global.asax я могу безопасно «использовать» объект пользователя? Я использую проверку подлинности форм по умолчанию, и заметил следующее: Sub Application_BeginRequest () 'Context.User Is Nothing End Sub Sub Application_AuthenticateRequest ()' Context.User Is Sub Sub Application_AuthorizeRequest () 'Context.User доступен' Context Nothing End. User.IsInRole () возвращает ложь, пока пользователь находится в роли End Sub Похоже AuthorizeRequest () должно быть место, однако IsInRole () не возвращает ожидаемый истинный. Могу ли я что-то пропустил?
Ropstah
1

голосов
1

ответ
1.3k

Просмотры

будет application_end вызывается, когда все пользователи сеанса конца?

У меня есть smqll вопрос, будет ли событие application_end в global.asax вызывается, когда все пользователи заканчивается сеанс? было похоже это в прошлом, может быть?
guy schaller
1

голосов
2

ответ
2.2k

Просмотры

Global.asax Обработка ошибок: причуды Server.Transfer

В моей global.asax, я проверяю на 404, и перехода на страницу 404 ошибки согласно ниже: Если HTTPExceptionInstance.GetHttpCode = 404 Тогда Server.ClearError () Response.TrySkipIisCustomErrors = True Response.Status = «404 Not Found "Server.Transfer (" ~ / Invalid-page.aspx ") End If проблема заключается в том, мой Invalid-page.aspx использует некоторые сеансовый код (Session (" somevariable ")), который вызывает исключение" состояние сеанса может быть только используется, когда EnableSessionState установлена ​​истина, либо в файле конфигурации или в директиве Page. ", потому что я использую Server.Transfer (я считаю, что это известная проблема?). Если я использую Response.Redirect, нет никаких проблем. Тем не менее, это будет означать, что заголовок страницы ошибок является 200, а не 404.
Donnie Thomas

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