分类
学习笔记

IIS 6.0 下部署 Asp.net MVC Web Api 后 HTTP PUT and DELETE 请求失败的问题

ASP.NET MVC 4 has a new feature called WebAPI which makes it much easier to create a REST API in ASP.NET. Unfortunately, I ran into one problem with IIS 6.0 that prevented the full REST spec from being used. By default IIS 6 wouldn’t allow the PUT or DELETE verbs to be used with the WebAPI app that we created.

Page requests using GET and POST worked fine, but PUT and DELETE gave the following error:

Failed to load resource: the server responded with a status of 501 (Not Implemented)

In order to solve the issue I needed to add the ASP.NET 4.0 dll to the Wildcard mappings in the Configuration area on the Home Directory tab for the website. That fixed the problem for me. Here are the steps that I took to correct the issue in IIS.

1. Find the web site in the “Web Sites” folder in Internet Information Services (IIS) and right-click and select properties.

1

2. Go to the “Home Directory” tab and click the “Configuration…” button.

2

3. Find the .aspx extension in the “Application extensions” table, select it and press the “Edit…” button.

3

4. Copy the entire path and file name in the “Executable:” text box to the clipboard.  Press the “Cancel” button.

4

5. Press the “Insert…” button near the “Wildcard application maps” list box.  Paste the text from the clipboard into the “Executable:” text box and press “OK”.

5

6. Press OK on the Application Configuration dialog and again on the website properties box.

分类
学习笔记

IIS设置允许下载.exe文件解决方法

请按如下设置:

1.设置MIME,让IIS支持更多文件类型,如果MIME类型中已经有.exe,这一步可以跳过。

打开IIS,选中服务器,点右键,属性里有MIME类型
添加扩展名:.exe
类型:application/octet-stream

按照上面的办法操作,重启IIS后还是无法下载.exe的文件,一直提示404错误,但RAR的文件就可以下载,不知道是哪里的问题,发愁了老半天,接着再在GOOGLE里搜索”win2003 exe文件下载 设置”,找到更为详尽的解决办法.补充如下步骤:

2.如果上一步不能解决问题,可以设置一下网站主目录的访问权限。

打开iis管理器,右键网站-点击属性-主目录,将执行权限设置为”无”或者”纯脚本”,即取消”可执行文件”.

找到IIS的执行权限设置,系统默认是”纯脚本或可执行文件”,改成”纯脚本”,再次试着下载.exe的文件,终于跳出了迅雷的下载提示对话框,设置成功了.

如果还是,你可以试一下第三个步骤(如果有支持PHP的,要自己分辨一下哦):

3.如果上一步还是不能解决问题,可以把iis管理器中的”web服务扩展”中的”所有未知cgi扩展”,”所有未知isapi扩”禁止,仅保留”asp”及”asp.net”.

分类
学习笔记

Windows2003中IIS6.0文件上传大小限制解决方法

在服务器上进行如下操作:
1)在服务管理器里关闭 iis admin service 服务。
2)打开 windows\system32\inetsrv\ 下的 metabase.xml 文件。
3)用查找方式找到 ASPMaxRequestEntityAllowed 将默认为:204800(200K)的值修改为需要的值,如需要上传20M的文件则修改为:20480000,然后保存。
4)然后在服务管理器里重启 iis admin service 服务,接着重启IIS,OK完成!

解决超过4M的附件无法下载限制
在服务器上进行如下操作:
1)在服务管理器里关闭 iis admin service 服务。
2)打开 windows\system32\inetsrv\ 下的 metabase.xml 文件。
3)用查找方式找到 AspBufferingLimit 将默认的值修改为需要的值,如需要200M则修改为:204800000,然后保持。
4)然后在服务管理器里重启 iis admin service 服务,接着重启IIS,OK完成!

分类
学习笔记

IIS6.0会话超时时间设置

问题描述:

客户端请求WCF服务时,部署服务器上是请求发生错误:

The underlying connection was closed: An unexpected error occurred on a receive

翻译:基础连接已经关闭:发送上发生意外的错误。

分析:

1、同样程序在其他服务器部署,没引发此异常。

2、客户端?服务端? 利用Fiddler模拟请求,异常照旧,可见可能属于服务端引发。

3、比较两台服务器环境差异,操作系统,IIS版本基本一致,问题在哪里?

4、继续寻找异常引发规律。发现每次大约请求发送后90秒左右后异常触发,可见问题出在请求时间设置上。

5、经检查 .net中,数据库超时等链接设置无误。问题归结在IIS的设置上。

6、IIS中会话超时时间设置:

【应用程序池(application pool )超时设置方法】

在Internet信息服务中的”应用程序池”的属性->”运行状况”选项卡
将”关闭时间限制”工作进程必须在下列时间内关闭(秒) 设置为1800 (30分钟)

默认为90秒,所以异常由此产生。

另外回收进程时间等相应修改,问题解决。

小结:程序不会说谎,细心分析,问题总会解决。

分类
学习笔记

IIS6.0支持解析json文件配置

1. MIME设置:
IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-”新类型”,添加一个文件类型:
关联扩展名:*.json
内容类型(MIME):application/x-javascript

2. Script Map Handler设置:
还是在IIS的站点属性里,”主目录”-”应用程序设置”-”配置”-”映射”-”添加”,会打开”添加/编辑应用程序扩展名映射”的设置页面
扩展名:.json
运行文件:C:\WINDOWS\system32\inetsrv\asp.dll
动作:GET,POST

3.保存,重新启动IIS服务,就可以访问json文件了。