Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何允许使用ASP.NET下载.json文件_Asp.net_Json_Iis 6 - Fatal编程技术网

如何允许使用ASP.NET下载.json文件

如何允许使用ASP.NET下载.json文件,asp.net,json,iis-6,Asp.net,Json,Iis 6,如何从旧ASP.NET站点(我相信是IIS6)下载*.json文件 我得到的是404页而不是JSON文件 是否需要创建web.config文件?其中包含什么?将JSON MIME类型添加到IIS 6。按照下面的说明操作 扩展名:.json MIME类型:应用程序/json 更改后不要忘记重新启动IIS 更新:在IIS7和更新版本上有一些简单的方法可以做到这一点。op特别要求IIS6的帮助,所以我保留这个答案。尽管IIS6现在已经很旧了,但是这个答案仍然会获得大量的流量。希望您使用的是更新的版

如何从旧ASP.NET站点(我相信是IIS6)下载*.json文件

我得到的是404页而不是JSON文件


是否需要创建web.config文件?其中包含什么?

将JSON MIME类型添加到IIS 6。按照下面的说明操作

  • 扩展名:.json
  • MIME类型:应用程序/json
更改后不要忘记重新启动IIS


更新:在IIS7和更新版本上有一些简单的方法可以做到这一点。op特别要求IIS6的帮助,所以我保留这个答案。尽管IIS6现在已经很旧了,但是这个答案仍然会获得大量的流量。希望您使用的是更新的版本,因此我想说的是,如果您有更新的IIS7或更新的版本,请参阅下面@ProVega的答案,以获得针对这些更新版本的更简单解决方案。

如果您想手动添加对站点的支持,您只需在system.webServer部分的web.config中添加以下内容:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>


这将在IIS下添加“本地”配置。这在IIS6中不起作用,但在IIS7和更高版本中起作用。

刚刚出现此问题,但必须找到IIS Express的配置,以便添加mime类型。对我来说,它位于
C:\Users\\Documents\IISExpress\config\applicationhost.config
,我能够在那里添加正确的“mime映射”。

解决方案是您需要在mime类型中添加json文件扩展名类型 方法1 转到IIS,选择应用程序并查找MIME类型

单击右面板上的添加

文件扩展名=.json

MIME类型=应用程序/json

MIME Types中添加.json文件类型后,重新启动IIS并尝试访问json文件


方法2 转到该应用程序的web.config并在其中添加以下行

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>

添加对mimetype的支持时(如@ProVega所建议),最好在添加之前删除该类型-这是为了防止部署到已经存在对该类型支持的服务器时出现意外错误,例如:

<staticContent>
    <remove fileExtension=".json" />
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

  • 导航到C:\Users\username\Documents\IISExpress\config
  • 使用Visual Studio或您喜爱的文本编辑器打开applicationhost.config
  • 搜索mimeMap这个词,你会发现很多
  • 将以下行添加到列表顶部:


  • 您可能需要使用它。在javascript中使用或在hd上保存?我想通过jQuery.ajax访问它(url:…添加到本地IIS拥有列表后,在下次部署时,它可能会从重复列表中抛出500服务器错误,然后将其注释掉。干杯,但这是在共享主机包上,如果您没有访问IIS 6.0设置的权限,则无法访问web.config或全局代码文件以外的任何内容,并且您的提供商不会提供支持。)为您添加MIME类型,则您必须切换提供程序,或切换到该提供程序上具有IIS 7.0的较新服务器(如果提供)。是的,ASP.Net可以通过ASPX处理程序甚至简单页面传递文件,但您将无法在URL中使用.json文件类型,因为它不会将该请求传递给ASP.Net运行时。它必须通过ASPX运行时。如果您没有访问IIS设置的权限,它必须是现有的扩展之一,如
    .ASPX
    。再次,切换到带有IIS7的服务器提供了更多更简单的解决方案。重新启动应用程序池应该足够了(在我的情况下),而不是完全重新启动IIS。@kltft True,重新启动应用池将触发更新,但当然只会针对该池。这些步骤包括更改每个人的设置,并且使他们处于不一致的设置级别很容易导致以后的混乱。为了安全和健全,我建议重新启动整个IIS过程。但是在紧要关头,如果每个人都同意赞成/反对的话,重新启动应用程序池可能会起作用。更新您的答案以包含完整的
    web.config
    path.Life saver,谢谢:)出于某种原因,这打乱了我的整个网站-css不再工作!@TheJeff-这发生在我身上,但这是因为我添加了两个静态内容mimeMap,一个用于JSON(必要)一个用于CSV(冗余,我认为这是必要的,但IISExpress应用程序配置已经有了CSV)。因此,每当我尝试访问任何静态文件时,都会出现此错误:
    无法添加唯一键属性“fileExtension”设置为“.csv”的类型为“mimeMap”的重复集合项。
    一旦我删除了重复项,就没有问题。这将在本地运行时解决问题,但在推送live时请注意。如果mimeMap已经存在在IIS中全局配置,您将收到500个错误。在这种情况下,只需从web.config中删除此部分。这可能是我无法通过IIS Express进行配置的原因。不幸的是,我不希望在每台开发机器上都配置此部分,因此我建议坚持使用json配置文件的.js扩展名。您可以n在Web.Config中也要这样做-看看这个答案@SimchaKhabinsky对我来说Web.Config是不够的。如果Web.Config是不够的,你可能需要在
    节点前添加这一行:
    。你不应该触摸applicationhost.Config(或machine.Config)。也就是说,如果您经常创建新网站,并且不想修改每个网站的web.config,那么修改这些文件可能会很有用。这可能适用于开发环境,但在生产环境中,您通常无法接触machine.config,因此我仍然建议在web.config中进行更改。谢谢@gilly3-the
    remove
    是我的关键,当你只添加mimeMap时,有时它会删除你的css样式,所以正确的方法是先删除它,