GVKun编程网logo

如何在IIS Express中启用外部请求?(如何启用iis功能)

16

在本文中,我们将为您详细介绍如何在IISExpress中启用外部请求?的相关知识,并且为您解答关于如何启用iis功能的疑问,此外,我们还会提供一些关于ASP.NetWebApi项目,挂载到IISExp

在本文中,我们将为您详细介绍如何在IIS Express中启用外部请求?的相关知识,并且为您解答关于如何启用iis功能的疑问,此外,我们还会提供一些关于ASP.Net WebApi 项目,挂载到IIS Express和IIS中是,请求速度差异较大、asp.net – Http Handler正在iis express中工作,而不是在iis服务器上工作、asp.net – 在IIS中启用内容过期可能有什么缺点?、asp.net – 如何在IIS Express下启用区分大小写?的有用信息。

本文目录一览:

如何在IIS Express中启用外部请求?(如何启用iis功能)

如何在IIS Express中启用外部请求?(如何启用iis功能)

如何在IIS Express中启用远程请求?斯科特·格思里(Scott
Guthrie)写道,这是可能的,但他没有透露具体方法。

答案1

小编典典

IIS团队网站上有一篇博客文章,现在解释如何在IIS
Express上启用远程连接。这是该文章的相关部分摘要:

在Vista和Win7上,从管理提示符下运行以下命令:

netsh http add urlacl url=http://vaidesg:8080/ user=everyone

对于XP,首先安装Windows XP Service Pack 2支持工具。然后从管理提示符下运行以下命令:

httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(A;;GX;;;WD)

ASP.Net WebApi 项目,挂载到IIS Express和IIS中是,请求速度差异较大

ASP.Net WebApi 项目,挂载到IIS Express和IIS中是,请求速度差异较大

同样的一个WebApi接口,调试时,选择本地IIS服务器运行(10s+),与选择IIS Express服务器运行的请求时间差异较大(3s+),有大神知道怎么解决吗,或者原因是什么吗?

asp.net – Http Handler正在iis express中工作,而不是在iis服务器上工作

asp.net – Http Handler正在iis express中工作,而不是在iis服务器上工作

我将实现HttpHandler,以允许基于会话值从我的站点下载文件.如果会话存在,则允许用户下载文件,否则重定向到索引页面,该页面是站点的登录页面.当我在IIS服务器上运行我的网站时,我的代码在iis express中工作正常,处理程序无法运行.

对于IIS express,web.config文件包含我已添加的以下部分.以下配置适用于iis express.

<system.web>

<httpHandlers>

  <add verb="*" path="*.pdf" type="QDMS.FileHandler" />
Same add tag for all the files to restrict downloading without session.

</httpHandlers>

</system.web>

IIS服务器的配置不起作用如下.

<system.webServer>

<handlers>
  <add name="Files" path="*.pdf,*.doc,*.docx,*.rar,*.zip,*.ppt,*.pptx,*.jpg,*.png,*.bmp,*.gif,*.html,*.htm,*.pps" verb="*" type="QDMS.FileHandler" resourceType="Unspecified" requireAccess="script" />    
</handlers>

</system.webServer>

我的文件处理程序如下

using System;
using System.Web;
using System.Web.SessionState;
using QDMS.Old_App_Code;

namespace QDMS
{
public class FileHandler : IHttpHandler,IReadOnlySessionState
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
if (!CheckWetherTheRequestForFileExistOrNot(context)) return;
if (CheckUsersForFileDownloading(context))
context.Response.Redirect("~/index.aspx");
else
{
var rawURL = context.Request.RawUrl;
var dotIndex = rawURL.LastIndexOf(".",System.StringComparison.Ordinal);
var ext = rawURL.Substring(dotIndex);
context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.ContentType = MIMEEType.Get(ext);
context.response.addheader("Content-disposition","attachment");
context.Response.WriteFile(rawURL);
context.Response.Flush();
}  
}
public bool CheckWetherTheRequestForFileExistOrNot(HttpContext context)
{
string url = context.Request.RawUrl.ToLower().Trim();
if (url.Contains(".pdf") || url.Contains(".xls") || url.Contains(".xlsx") || url.Contains(".jpg") ||
            url.Contains(".bmp") || url.Contains(".rar") || url.Contains(".doc") || url.Contains(".docx") ||
            url.Contains(".png") || url.Contains(".gif") || url.Contains(".pptx") || url.Contains(".zip") ||
            url.Contains(".ppt") || url.Contains(".pps") || url.Contains(".htm") || url.Contains(".html"))
return true;
else
return false;
}
public bool CheckUsersForFileDownloading(HttpContext context)
{
return (context.Session["FrontHiddenID"] == null) && (context.Session["HiddenID"] == null);
}
}
}

我确信在web.config文件中的部分不正确,这就是它无法正常工作的原因.所以我需要建议来纠正web.config文件中的处理程序部分.
任何有关此问题的建议和帮助将受到高度赞赏

解决方法

您的IIS处理程序应如下所示:

<add name="Files" path="*.pdf" verb="*" type="QDMS.FileHandler" resourceType="Unspecified" requireAccess="Script" />

与您的版本有两点不同:

>只有一个文件掩码,您应该为每种文件类型注册一个处理程序
> requireAccess =“脚本”,“脚本”具有大写“S”

希望这会有所帮助

asp.net – 在IIS中启用内容过期可能有什么缺点?

asp.net – 在IIS中启用内容过期可能有什么缺点?

在IIS 6中启用内容过期可能有什么缺点?

解决方法

主要缺点是IIS将按修改日期停止缓存组件.每当你改变任何组件的内容时,你必须按ctrl F5才能强制获取新内容.

这个问题的一个解决方案是将一个查询字符串附加到静态组件,并且该查询字符串应该是动态的和可混合的,这样无论何时更改内容,您只需要更改查询字符串,您的问题就会得到解决.

以下是动态查询字符串的示例

http://google.com/style.css?version=2.1
@H_301_24@

asp.net – 如何在IIS Express下启用区分大小写?

asp.net – 如何在IIS Express下启用区分大小写?

如果使用IIS Express,我应该如何启用区分大小写的请求处理? IIS Express中有设置吗?或者URL重写规则可以实现此目的吗?或者也许是全能的HTTP Handler进行案例检查?

目标是在部署到IIS和S3(S3区分大小写)之前,能够在本地捕获关于静态文件的大小写不一致.

谢谢

解决方法

IIS区分大小写……

…但不是文​​件.

IIS不区分大小写是一个误称,Windows文件系统不区分大小写,而不是IIS.如果URL包含文件路径,则IIS会询问Windows文件是否存在且操作系统是否响应而不考虑字母大小写. Windows中的文件名无法“启用”区分大小写.

但对于非真实文件路径,IIS是100%区分大小写的. URL字符的大小写完整地传递给IIS管道.无论是否存在区分大小写,都取决于Web应用程序.但好的做法是说你不希望/ page1与/ PAGE1不同.

ASP.NET对查询字符串变量名称不区分大小写.再次,这不是IIS.应用程序(ASP.NET)不区分大小写.

概要

静态文件路径不区分大小写(由于Windows操作系统,而不是IIS):

http://example.com/subdirectory/FILe.aspx

但是,不参与文件路径的URL的部分区分大小写(除了’x’参数之外的所有文件都在file.aspx之后,因为.aspx是ASP.NET资源):

http://example.com/subdirectory/FILe.aspx/Extra/Tail?x="query parameter"

如果应用程序区分大小写,则通过重写,HttpModules等动态生成的URL也区分大小写.这通常不是最佳做法,因为这两个URL会引用两个单独的网页:

http://example.com/2012/01/23/blog-article
http://example.com/2012/01/23/BLOG-ARTICLE

关于如何在IIS Express中启用外部请求?如何启用iis功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ASP.Net WebApi 项目,挂载到IIS Express和IIS中是,请求速度差异较大、asp.net – Http Handler正在iis express中工作,而不是在iis服务器上工作、asp.net – 在IIS中启用内容过期可能有什么缺点?、asp.net – 如何在IIS Express下启用区分大小写?等相关知识的信息别忘了在本站进行查找喔。

本文标签: