2013-02-02 60 views
1

已更新 - 首先指向错误的目录。感谢您的提示Wiktor。仍然没有成功运行MVC4应用程序通过在本地IIS网络服务器上运行MVC4应用程序

我想(一段时间.. :))在我的开发PC上设置一个模拟的多租户Web应用程序。我了解到,这是不可能与Visual Studio的内部网络服务器,所以我想设置IIS。

我在我的主机中添加了fake租户。

127.0.0.1 localhost 
127.0.0.1 tenant1.mydomain.com 
127.0.0.1 tenant2.mydomain.com 

在IIS中我犯了一个新的网站test(8081端口),只是它指出C:\Azure\Websites\。在该目录中,我添加了一个Hello World html文件以查看该位是否有效。

  • 我导航到localhost:8081 =>世界,你好
  • 我浏览到tenant1.mydomain.com:8081 =>世界,你好。

酷,首次证明生活。


下一步:使用在VS2012中创建的MVC4 webapp进行操作。

我开始了新的Web应用程序MVC4并将其存储在: C:\Azure\Websites\MvcApplication1

我只使用默认生成的网站进行测试,所以我按F5并验证该网站在Firefox打开。所以我们的目标是从IIS中获得这个工作。

  • 创建一个新的网站test2(端口8082)
  • 组test2的应用程序池,以.net4.0
  • 点的物理目录C:\Azure\Websites\MvcApplication1\MvcApplication1\
  • 导航到localhost:8082

HTTP错误500.21 - 内部服务器错误 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其mod中有一个错误的模块“ManagedPipelineHandler” ule list

卸载ASP.NET并重新安装。相同的结果。

当我改变的web.config从

preCondition="classicMode,runtimeVersionv4.0,bitness32" 

preCondition="integratedMode,runtimeVersionv4.0,bitness32" 

然后我得到这个错误:

HTTP错误404.2 - 找不到 您请求无法在这个网页由于Web服务器上的ISAPI和CGI限制列表设置而被提供服务。

我可以强调的是,我对于IIS配置的的n00b ... :)

任何想法?

+0

不要指向mvcapplication \ bin,而是指向mvcapplication。 –

+0

好的。给我一个新的错误,我会查找(HTTP错误500.21 - 内部服务器错误) – bas

+0

您的应用程序池设置为asp 4.0吗? –

回答

1

ISAPI和CGI Restictions在IIS:

  • 添加ISAPI DLL的.NET 4 32位
  • 添加ISAPI DLL的.NET 4 64位

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASPNET_ISAPI.DLL

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ ASPNET_ISAPI.DLL

它的工作原理。最后!根据this site

感谢Wiktor的

+0

在控制面板的“程序和功能”部分中的“打开或关闭Windows功能”部分中选择它们会更好吗?互联网信息服务 - >万维网服务 - >应用程序开发功能 – brudert

0

首先配置IIS:

IIS 7.5处理程序在其模块列表

对于上述问题, “extensionlessurlhandler-integrated-4.0” 有一个坏模块 “managedpipelinehandler”,你必须去控制面板>>已安装的程序和功能>>双击它来修复您的.NET Framework。

+0

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 –

+0

@PeterFoti在我看来,这不是一个链接专用的答案。它可能是VLQ,但绝对不是链接专用的。 – cybermonkey

0

首先将IIS配置为 手动配置 打开控制面板,然后单击程序和功能»打开或关闭Windows功能。 打开Internet信息服务。

在Internet信息服务下,打开以下功能: Web管理工具»IIS 6管理兼容性»IIS元数据库和IIS 6配置兼容性。

Web管理工具»IIS管理控制台,IIS管理脚本和工具以及管理服务。

在万维网服务下,打开以下内容: 应用程序开发功能下的所有功能(服务器端包含除外)。 常见HTTP功能»默认文档,目录浏览,HTTP错误,Http重定向,静态内容。 安全»基本认证,请求过滤,Windows认证。

在Microsoft .NET Framework 3.5.1下»Windows Communication Foundation HTTP激活。

创建网站后,打开Internet信息服务(IIS)管理器。 展开您的服务器节点。 展开网站节点并点击您的网站。

在右侧的IIS部分中,双击认证。 执行以下操作之一:

如果您使用的是窗体身份验证,请确保已启用匿名身份验证和窗体身份验证,并禁用所有其他身份验证。

如果您使用基于声明的身份验证,请确保只启用匿名身份验证并禁用所有其他身份验证。

再次单击您的网站并在IIS部分中,双击处理程序映射。 确保您已启用处理程序映射* .SVC和* .xamlx设置为下列之一的可执行文件路径:

对于64位操作系统中:%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll 对于32位操作系统:%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll 关闭Internet信息服务(IIS)管理器。

相关问题