Для использования в javascript или для сохранения на hd?
Remy
Я хочу получить к нему доступ через jQuery.ajax (url: ...
Lea Hayes
2
Добавив, что после того, как у локального IIS есть список, при следующем развертывании он может выдать ошибку сервера 500 из дублирующего списка, поэтому закомментируйте его.
ОБНОВЛЕНИЕ: есть простые способы сделать это на IIS7 и новее. Оператор специально запросил помощь IIS6, поэтому я оставляю этот ответ как есть. Но этот ответ по-прежнему получает много трафика, хотя IIS6 сейчас очень старый. Надеюсь, вы используете что-то более новое, поэтому я хотел бы упомянуть, что если у вас более новая версия IIS7 или более новая версия, см. Ответ @ ProVega ниже, чтобы найти более простое решение для этих новых версий.
Ура, но это пакет общего хостинга без доступа ни к чему, кроме web.config или глобальному файлу кода,
Леа Хейс
Если у вас нет доступа к настройкам IIS 6.0, и служба поддержки вашего провайдера не добавит вам тип MIME, вам придется сменить провайдера или на более новые серверы с IIS 7.0 у этого провайдера, если они его предлагают, чтобы поддержите это.
Джон Адамс
1
Да, ASP.Net может передавать файл через обработчик ASPX или даже простую страницу, но вы не сможете использовать тип файла .json в URL-адресе, поскольку он не будет передавать этот запрос в ASP.Net. во время выполнения. Это должно быть что-то, что проходит через среду выполнения ASPX. Если у вас нет доступа к настройкам IIS, это должно быть одно из существующих расширений, например .ASPX. Опять же, переход на сервер с IIS7 предлагает гораздо больше и более простых решений.
Джон Адамс
1
Перезапуска пула приложений должно быть достаточно (так было в моем случае), а не перезапуска IIS полностью.
kltft
1
@kltft Верно, перезапуск пула приложений вызовет обновление, но, конечно, только для этого пула. Эти шаги включают в себя изменение настроек для всех, и их несогласованность в настройках впоследствии легко может привести к путанице. Я рекомендую перезапустить весь процесс iis для безопасности и разумности. Но в крайнем случае, если все согласятся с плюсами и минусами, перезапуск пула приложений может сработать.
Джон Адамс,
211
Если вы хотите вручную добавить поддержку на свой сайт, вы можете просто добавить следующее в свой web.config в разделе system.webServer :
Обновлен ваш ответ, чтобы включить полный web.configпуть.
GFoley83
Спасатель жизни, Спасибо :)
Gaurav123
1
По какой-то причине это испортило весь мой сайт - css больше не работал!
TheJeff
@TheJeff - это случилось со мной, но это потому, что я добавил два mimeMap staticContent, один для JSON (необходимо) и один для CSV (избыточный, я предполагал, что это необходимо, но в applicationConfig IISExpress уже был CSV). Поэтому я получал эту ошибку каждый раз, когда пытался получить доступ к любому статическому файлу: как Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv' только я удалил дубликат, никаких проблем.
The Red Pea
1
Это решит проблему при локальном запуске, но будьте внимательны при запуске в реальном времени. Если mimeMap уже настроен глобально в IIS, вы получите 500 ошибок. В этом случае просто удалите этот фрагмент из вашего web.config.
Эван
20
Решение: вам нужно добавить тип расширения файла json в типы MIME.
Способ 1
Перейдите в IIS, выберите свое приложение и найдите типы MIME.
Нажмите "Добавить" на правой панели.
Расширение имени файла = .json.
Тип MIME = приложение / json
После добавления .json типа файла в MIME типов , Restart IIS и попытаться файл JSON доступа
Способ 2
Перейдите в web.config этого приложения и добавьте в него эти строки
При добавлении поддержки mimetype (как предлагает @ProVega) также рекомендуется удалить тип перед его добавлением - это необходимо для предотвращения неожиданных ошибок при развертывании на серверах, где поддержка этого типа уже существует, например:
Когда вы добавляете только mimeMap, иногда он удаляет ваши стили css, поэтому правильный способ - сначала удалить его, большое спасибо
sgrysoft
Путь к файлу конфигурации в файле IIS7 C:\Windows\System32\inetsrv\config: applicationHost.config
OO
5
Просто возникла эта проблема, но мне нужно было найти конфигурацию для IIS Express, чтобы я мог добавить типы mime. Для меня он был расположен по адресу, C:\Users\<username>\Documents\IISExpress\config\applicationhost.configи я смог добавить туда правильную «mime-карту».
Возможно, поэтому у меня не работает IIS Express. К сожалению, это не то, что я хотел бы настраивать на каждой машине разработчика, поэтому, похоже, я рекомендую использовать расширение .js для файлов конфигурации json.
Если web.config не достаточно, вы можете добавить эту строку перед <mimeMap>узлом: <remove fileExtension=".json" />. Вам не нужно трогать applicationhost.config (или machine.config). При этом изменение этих файлов может быть полезно, если вы часто создаете новые сайты и не хотите изменять web.config для каждого сайта. Это может работать для сред разработки, но часто вы не можете коснуться machine.config в производственных средах, поэтому я все же рекомендую внести изменения в web.config.
Ответы:
Добавьте тип MIME JSON в IIS 6. Следуйте инструкциям в разделе MSDN «Настройка типов MIME (IIS 6.0)» .
Не забудьте перезапустить IIS после изменения.
ОБНОВЛЕНИЕ: есть простые способы сделать это на IIS7 и новее. Оператор специально запросил помощь IIS6, поэтому я оставляю этот ответ как есть. Но этот ответ по-прежнему получает много трафика, хотя IIS6 сейчас очень старый. Надеюсь, вы используете что-то более новое, поэтому я хотел бы упомянуть, что если у вас более новая версия IIS7 или более новая версия, см. Ответ @ ProVega ниже, чтобы найти более простое решение для этих новых версий.
источник
.ASPX
. Опять же, переход на сервер с IIS7 предлагает гораздо больше и более простых решений.Если вы хотите вручную добавить поддержку на свой сайт, вы можете просто добавить следующее в свой web.config в разделе system.webServer :
Это добавит «локальную» конфигурацию под IIS. Это не работает в IIS6, но работает в IIS7 и новее.
источник
web.config
путь.Cannot add duplicate collection entry of type 'mimeMap' with unique key attribute 'fileExtension' set to '.csv'
только я удалил дубликат, никаких проблем.Решение: вам нужно добавить тип расширения файла json в типы MIME.
Способ 1
Перейдите в IIS, выберите свое приложение и найдите типы MIME.
Нажмите "Добавить" на правой панели.
Расширение имени файла = .json.
Тип MIME = приложение / json
После добавления .json типа файла в MIME типов , Restart IIS и попытаться файл JSON доступа
Способ 2
Перейдите в web.config этого приложения и добавьте в него эти строки
источник
При добавлении поддержки mimetype (как предлагает @ProVega) также рекомендуется удалить тип перед его добавлением - это необходимо для предотвращения неожиданных ошибок при развертывании на серверах, где поддержка этого типа уже существует, например:
источник
C:\Windows\System32\inetsrv\config
: applicationHost.configПросто возникла эта проблема, но мне нужно было найти конфигурацию для IIS Express, чтобы я мог добавить типы mime. Для меня он был расположен по адресу,
C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
и я смог добавить туда правильную «mime-карту».источник
<mimeMap>
узлом:<remove fileExtension=".json" />
. Вам не нужно трогать applicationhost.config (или machine.config). При этом изменение этих файлов может быть полезно, если вы часто создаете новые сайты и не хотите изменять web.config для каждого сайта. Это может работать для сред разработки, но часто вы не можете коснуться machine.config в производственных средах, поэтому я все же рекомендую внести изменения в web.config.remove
был ключ для меняисточник