стики сами по себе переключают иконки выбора
Установил inputmapper. Подключаю через USB. снизу лог
Спойлер:
01.01.2020 19:42:57> TRACE: Active application changed to D:Program FilesInputMapper.exe (InputMapper)
01.01.2020 19:42:57> TRACE: Running exclusive mode tool…
01.01.2020 19:43:00> TRACE: Starting VBus…
01.01.2020 19:43:00> TRACE: Starting…
01.01.2020 19:43:00> TRACE: Searching for controllers….
01.01.2020 19:43:00> TRACE: Using Exclusive Mode
01.01.2020 19:43:01> TRACE: Device removed 263362|32772|757452491344
01.01.2020 19:43:01> TRACE: Device connected 263362|32768|757452491344
01.01.2020 19:43:04> TRACE: AC:FD:93:3D:86:16 device start
01.01.2020 19:43:05> TRACE: Found Controller: AC:FD:93:3D:86:16 (USB)
01.01.2020 19:43:05> WARNING: Warning: Could not open DS4 AC:FD:93:3D:86:16 exclusively. You must quit other applications like Steam, Uplay before connecting a controller using the exclusive mode option.
01.01.2020 19:43:05> TRACE: AC:FD:93:3D:86:16 power subsystem octet: 0x16
01.01.2020 19:43:05> TRACE: VBus: VBus started
01.01.2020 19:43:05> WARNING: We are still unable to open the device exclusively even after running the exclusive mode tool for Win 10 AU. The issue likely resides in another application open that is trying to access the controller.
01.01.2020 19:43:05> TRACE: Device removed 263362|32772|757452488944
01.01.2020 19:43:06> WARNING: We are still unable to open the device exclusively even after running the exclusive mode tool for Win 10 AU. The issue likely resides in another application open that is trying to access the controller.
01.01.2020 19:43:06> TRACE: Device connected 263362|32768|757452488944
01.01.2020 19:43:06> WARNING: We are still unable to open the device exclusively even after running the exclusive mode tool for Win 10 AU. The issue likely resides in another application open that is trying to access the controller.
01.01.2020 19:43:06> TRACE: Device connected 263362|32768|757452488928
01.01.2020 19:43:07> WARNING: We are still unable to open the device exclusively even after running the exclusive mode tool for Win 10 AU. The issue likely resides in another application open that is trying to access the controller.
01.01.2020 19:43:07> ERROR: Удаленный сервер возвратил ошибку: (403) Запрещено. (System.Net.WebResponse EndGetResponse(System.IAsyncResult) in System) []
в System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
в MS.Internal.WpfWebRequestHelper.EndGetResponse(WebRequest request, IAsyncResult ar)
в System.Windows.Navigation.NavigationService.HandleWebResponse(IAsyncResult ar)
в System.Windows.Navigation.NavigationService.<>c__DisplayClass106_0.<HandleWebResponseOnRightDispatcher>b__0(Object unused)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
01.01.2020 19:43:28> TRACE: Active application changed to D:Program FilesInputMapper.exe (InputMapper)
01.01.2020 19:43:33> INFO: Log coppied to clipboard
01.01.2020 19:43:33> TRACE: Active application changed to D:Program FilesInputMapper.exe (InputMapper)
01.01.2020 19:43:35> TRACE: Active application changed to C:Program Files (x86)GoogleChromeApplicationchrome.exe (chrome)
01.01.2020 19:45:10> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:10> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:10> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:10> TRACE: Active application changed to D:Program FilesInputMapper.exe (InputMapper)
01.01.2020 19:45:10> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:11> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:11> TRACE: Active application changed to C:WINDOWSExplorer.EXE (explorer)
01.01.2020 19:45:11> TRACE: Active application changed to C:Program Files (x86)GoogleChromeApplicationchrome.exe (chrome)
01.01.2020 19:47:46> TRACE: Active application changed to D:Program FilesInputMapper.exe (InputMapper)
steam и прочие проги выключал
мышь и клавиатуру от usb отключал.
геймпад пробовал переподключать.
тестил также другой геймпад , с ним такая же фигня.
upd
Может проблема в винде?
версия 1909 сборка 18363.535
upd
Отключил на старом джойстике «analog» и всё заработало. Но как сделать на новом?
Я написал приложение, которое отлично работает в течение нескольких месяцев, в последние несколько дней я получаю ошибку ниже только в установленной версии.
Если я запускаю исходный код в vs все работает нормально. И еще.exe в папках bin работает нормально. Это только установленная версия, которая генерирует ошибку, если я перекомпилирую и переустановить я получаю ту же ошибку.
Я немного озадачен тем, что вызывает это, и надеялся на несколько указателей. Кажется, это WebRequest ответ через IE не возвращается, но я в тупике, почему он отлично работает в VS без каких-либо ошибок. Существуют ли какие-либо новые меры безопасности/политики IE, которые могут вызвать это?
вещи, которые я пробовал до сих пор, включают:
- отключить все антивирусы и брандмауэр
- Запуск от имени администратора
Исключение:
Exception: System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'XApp.MainWindow' that matches the specified binding constraints threw an exception. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at XApp.HtmlRequest.getHtml(Uri uri) in J:PathMainWindow.xaml.cs:line 3759
at XApp.MainWindow.GetLinks() in J:PathMainWindow.xaml.cs:line 2454
at XApp.MainWindow..ctor() in J:PathMainWindow.xaml.cs:line 124
--- End of inner exception stack trace ---
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Exception: System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at XApp.HtmlRequest.getHtml(Uri uri) in J:PathMainWindow.xaml.cs:line 3759
at XApp.MainWindow.GetLinks() in J:PathMainWindow.xaml.cs:line 2454
at XApp.MainWindow..ctor() in J:PathMainWindow.xaml.cs:line 124
EDIT:
это установлено как автономное приложение. Когда я работаю администратором, я откройте папку программы и запустите exe от имени администратора, а не ярлык.
код, который вызывает проблему, это
private void GetLinks()
{
//Navigate to front page to Set cookies
HtmlRequest htmlReq = new HtmlRequest();
OLinks = new Dictionary<string, List<string>>();
string Url = "http://www.somesite.com/somepage";
CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.CookieContainer = cookieJar;
request.Accept = @"text/html, application/xhtml+xml, */*";
request.Referer = @"http://www.somesite.com/";
request.Headers.Add("Accept-Language", "en-GB");
request.UserAgent = @"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)";
request.Host = @"www.somesite.com";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
String htmlString;
using (var reader = new StreamReader(response.GetResponseStream()))
{
htmlString = reader.ReadToEnd();
}
//More Code
}
8 ответов
добавить следующую строку:
request.UseDefaultCredentials = true;
Это позволит приложению использовать учетные данные пользователя для доступа к сайту. Если он возвращает 403, очевидно, он ожидает аутентификации.
также возможно, что вы (сейчас?) имейте аутентифицирующий прокси-сервер между вами и удаленным сайтом. В этом случае, попробуйте:
request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
надеюсь, что это помогает.
похоже, проблема основана на стороне сервера.
Im мой случай я работал с сервером paypal, и ни один из предложенных ответов не помог, но http://forums.iis.net/t/1217360.aspx?HTTP+403 + запрещено + ошибка
я столкнулся с этой проблемой и только что получил ответ от Paypal technical.
Добавьте это исправит проблему 403.
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);req.UserAgent = "[any words that is more than 5 characters]";
его ошибка разрешения. Ваш VS, вероятно, работает с использованием учетной записи с повышенными правами или другой учетной записи пользователя, чем пользователь, использующий установленную версию.
может быть полезно проверить разрешения IIS и посмотреть, какие учетные записи имеют доступ к ресурсу, к которому вы обращаетесь. Перекрестная ссылка на используемую учетную запись и учетную запись, используемую установленными версиями.
private class GoogleShortenedURLResponse
{
public string id { get; set; }
public string kind { get; set; }
public string longUrl { get; set; }
}
private class GoogleShortenedURLRequest
{
public string longUrl { get; set; }
}
public ActionResult Index1()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ShortenURL(string longurl)
{
string googReturnedJson = string.Empty;
JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer();
GoogleShortenedURLRequest googSentJson = new GoogleShortenedURLRequest();
googSentJson.longUrl = longurl;
string jsonData = javascriptSerializer.Serialize(googSentJson);
byte[] bytebuffer = Encoding.UTF8.GetBytes(jsonData);
WebRequest webreq = WebRequest.Create("https://www.googleapis.com/urlshortener/v1/url");
webreq.Method = WebRequestMethods.Http.Post;
webreq.ContentLength = bytebuffer.Length;
webreq.ContentType = "application/json";
using (Stream stream = webreq.GetRequestStream())
{
stream.Write(bytebuffer, 0, bytebuffer.Length);
stream.Close();
}
using (HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse())
{
using (Stream dataStream = webresp.GetResponseStream())
{
using (StreamReader reader = new StreamReader(dataStream))
{
googReturnedJson = reader.ReadToEnd();
}
}
}
//GoogleShortenedURLResponse googUrl = javascriptSerializer.Deserialize<googleshortenedurlresponse>(googReturnedJson);
//ViewBag.ShortenedUrl = googUrl.id;
return View();
}
Это, вероятно, не поможет слишком многим людям, но это был мой случай: я использовал Jira REST Api и использовал свои личные учетные данные (те, которые я использую для входа в Jira). Я обновил свой пароль Jira, но забыл обновить его в своем коде. Я получил ошибку 403, я попытался обновить свой пароль в коде, но все равно получил ошибку.
решение: я попытался войти в Jira (со своей страницы входа), и мне пришлось ввести текст, чтобы доказать, что я не бот. После этого я попробовал еще раз код и это сработало. Вынос: возможно, сервер заблокировал вас.
в моем случае я вспомнил, что некоторое время назад для этого адреса было создано отверстие в брандмауэре, поэтому мне пришлось установить useDefaultWebProxy=»false» в привязке в файле конфигурации, как если бы по умолчанию использовался прокси, если useDefaultWebProxy не указан.
установка:
request.Referer = @"http://www.somesite.com/";
и добавить cookies не работал для меня
мы должны получить доступ к веб-сайту, используя имя, указанное в сертификате.
Содержание
- 1 Что является причиной ошибки InputMapper Failed to Connect Onlyly
- 2 Как исправить ошибку InputMapper Failed to Connect Onlyly
- 2.1 Метод 1: Использование InputMapper HidGuardian
- 2.2 Способ 2. Повторное включение устройства Bluetooth HID
Многие пользователи сообщают, что исключительный режим InputMapper больше не работает в Windows 10 после применения обновления Windows 10 Fall Creators или Anniversary Update. Согласно различным пользовательским отчетам, Запускай DS4 исключительно функция больше не делает переключение на Эксклюзивный режим. В более старых версиях InputMapper запись будет выглядеть как Использовать эксклюзивный режим внутри меню настроек.
Эксклюзивный режим InputMapper
Что является причиной ошибки InputMapper Failed to Connect Onlyly
После изучения проблемы и просмотра различных пользовательских отчетов становится ясно, что проблема возникает из-за изменения в способе работы Windows с устройствами HID после их подключения.
Обновления Anniversary и Creators представили процесс, который открывает каждое доступное HID-устройство, тем самым препятствуя возможности InputMapper открывать устройство исключительно. Этот конфликт невозможно решить разработчиком, поскольку он имеет место в kernel32.dll.
Как исправить ошибку InputMapper Failed to Connect Onlyly
Если вы изо всех сил пытаетесь настроить контроллер PS4 на свой ПК через InputMapper, эта статья предоставит вам несколько руководств по устранению неполадок. Ниже представлен набор методов, которые другие пользователи Windows 10 в аналогичной ситуации использовали для решения проблемы.
Подтверждено, что все описанные ниже методы работают по крайней мере одним пользователем, поэтому не стесняйтесь использовать любой метод, более подходящий для вашего конкретного сценария. Давай начнем!
Метод 1: Использование InputMapper HidGuardian
Разработчик InputMapper выпустил новый автономный инструмент, который запускает службу, способную фильтровать задействованные драйверы, облегчая переход в эксклюзивный режим в Windows 10.
Этот маленький инструмент предназначен для использования с родительским приложением InputMapper. По сути, это гарантирует, что Windows не мешает эксклюзивной функции DS4. Вы можете скачать InputMapper HidGuardian по этой ссылке (Вот).
Чтобы использовать его, запустите службу (открыв каждый файл .bat от имени администратора) перед запуском InputMapper и убедитесь, что он остается открытым, пока вы не нажмете Запустите Ds4 исключительно кнопка.
Способ 2. Повторное включение устройства Bluetooth HID
Некоторые пользователи обнаружили, что InputMapper работает неправильно из-за изменения способа взаимодействия устройства Bluetooth HID со связанным контроллером Dual Shock 4. Как выясняется, повторное включение устройства Bluetooth HID, когда все соответствующие приложения выключены, исправит эту ошибку.
Вот краткое руководство о том, как это сделать:
- Убедитесь, что все приложения, которые вы можете использовать для подключения контроллера PS4 к компьютеру, закрыты. Это включает InputMapper, DS4Windows, SCP или DS4Tool.
- Убедитесь, что ваш контроллер PS4 не подключен к компьютеру.
- Нажмите Windows ключ + R открыть окно Run. Далее введите «devmgmt.mscИ нажмите Войти открыть Диспетчер устройств.
- В диспетчере устройств найдите устройство Bluetooth HID (обычно находится в раскрывающемся меню Human Interface Devices).
Замечания: Устройство также может быть названо HID-совместимый игровой контроллер если вы используете проводной контроллер. - Как только устройство будет найдено, щелкните его правой кнопкой мыши и выберите «Отключить». Когда служба отключена, используйте действие меню из ленты вверху, чтобы нажать на Поиск изменений оборудования.
Помните, что вам, возможно, придется повторять эту процедуру каждый раз при повторном подключении контроллера Dual Shock 4. Вы также можете сделать весь процесс намного проще, используя Инструмент Dualshock Exclusive Mode. Эта бесплатная программа для пожертвований сделает перечисленные выше шаги автоматически, сэкономив ваше драгоценное игровое время.
как перехватить исключение «Удаленный сервер вернул ошибку: (403) Запрещено».
Я получаю сообщение «Удаленный сервер вернул ошибку: (403) Запрещено». ошибка и хотите поймать это исключение. Я предполагаю, что блок HttpException должен перехватывать его, как показано ниже, но это не так.
catch (HttpException wex)
{
if (wex.GetHttpCode().ToString() == "403")
//do stuff
}
Я не хочу использовать общий блок исключений, чтобы поймать это. Какое другое исключение может поймать это?
См. прилагаемый снимок экрана исключения.

2 ответы
Похоже, что исключение заключено в другой объект исключения уровня API. Вы можете условно поймать конкретное исключение, которое вам нужно, и повторно выдать его в противном случае. Использование этого помощника:
static T GetNestedException<T>(Exception ex) where T : Exception
{
if (ex == null) { return null; }
var tEx = ex as T;
if (tEx != null) { return tEx; }
return GetNestedException<T>(ex.InnerException);
}
Затем вы можете использовать этот блок catch:
catch (Exception ex)
{
var wex = GetNestedException<WebException>(ex);
// If there is no nested WebException, re-throw the exception.
if (wex == null) { throw; }
// Get the response object.
var response = wex.Response as HttpWebResponse;
// If it's not an HTTP response or is not error 403, re-throw.
if (response == null || response.StatusCode != HttpStatusCode.Forbidden) {
throw;
}
// The error is 403. Handle it here.
}
Создан 06 сен.
Взгляните на трассировку стека, не улавливая ее. Если код не позволяет, не ловите его и не выводите в стандартный поток ошибок. Это позволит вам увидеть тип исключения и выполнить try блокировать соответственно.
Создан 06 сен.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
c#
or задайте свой вопрос.