我用asp.net做了一个网站。。。然后用iis通过本地发布。。。。可以在局域网上浏览。。系统是win7
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用asp.net做了一个网站。。。然后用iis通过本地发布。。。。可以在局域网上浏览。。系统是win7相关的知识,希望对你有一定的参考价值。
可是看了网上的好多例子。。。但是找不到iis中的默认Web站点的属性。。。。如果有高人能全部解释。。。。最好有截图。。。。。。其实我的想法就是用asp做的网站首页在局域网上可以访问。。。。求高人
参考技术A在iis里有默认文档
参考技术B 这个不难,你百度“IIS7配置”有很多教程,照做就行了,对自己有点信心~ 参考技术C 别人电脑用IE直接把localhost换成你的IP就可以访问了本回答被提问者采纳PHP 和 ASP.Net 可以在 IIS 7.5 中的同一个网站内一起运行吗?
【中文标题】PHP 和 ASP.Net 可以在 IIS 7.5 中的同一个网站内一起运行吗?【英文标题】:Can PHP and ASP.Net run together within the same web site in IIS 7.5? 【发布时间】:2011-01-21 17:20:51 【问题描述】:我们网站的一部分是用 PHP 完成的,我们网站的一部分是用 ASP.Net 完成的。我们刚刚使用安装了 IIS 7.5 的 Windows Server 2008 R2 设置了一个新的 Web 服务器。
我了解 IIS 7+ 支持 PHP,但 PHP 和 ASP.Net 是否可以在 IIS 中的单个网站内并行运行,或者我必须为 PHP 页面和一个 Web 设置一个网站ASP.Net 页面的站点?
【问题讨论】:
应该可以同时使用这两个处理程序,但您可能需要使用显式扩展,例如.aspx 和 .php。 您能否详细说明使用显式扩展的含义? 【参考方案1】:您应该能够在同一个站点中同时运行这两者,但请确保该站点的 AppPool 运行“经典”的 ASP.NET 池配置。默认的 AppPool 通过 ASP.NET 路由所有内容,而您的 PHP 页面不希望这样。
除此之外,你应该没问题。查询字符串、文件和后端数据库将是在页面之间共享数据的最佳方式。
【讨论】:
它不需要在经典模式下 - 我有几个解决方案在集成模式下运行没有问题。 您先生...刚刚解决了 3 小时的寻找我的 IIS 设置出了什么问题...投票 @Shagglez 我在带有 IIS 7.5 的 Windows Server 2008 R2 标准服务器上安装了 PHP 5.5。请说明如何在集成模式的 ASP.NET Web 应用程序中运行 PHP 文件。 您好,我确实在 IIS 中运行了 php 文件。但是我的链接“www.sprop.in/admin_login”中有一个小问题要在地址栏中输入。它显示了所有的 php 文件列表。所以请任何人建议我如何避免这种情况以及如何执行 index.php 页面默认... @Cylon Cat 嘿先生,我们可以在一个网站中同时使用 jsp 和 asp.net 吗?【参考方案2】:是的,您可以在同一网站下同时使用两者。由于文件扩展名映射到特定的外部进程,因此它们被独立调用。您甚至可以使用 Asp.Net 通过在 IIS 中实现通配符映射来使用 FormsAuthentication 保护 .php 文件(我知道 6/7 有这个,不确定 5)。在它们之间混合数据很棘手,因为它们将具有单独的外部进程,因此具有单独的会话。大多数 cookie 都可以在两者之间读取,但安全 cookie 不会。
【讨论】:
文件扩展名是否映射到同一个处理程序取决于 IIS AppPool 配置。您将不想要使用默认应用程序池,因为在该配置中,ASP.NET 处理所有文件扩展名。不过,默认的 AppPool 应该可以工作。 @Cylon Cat - 映射在 Handler 映射中显式处理,它们指向单独的 ISAPIModules。是否使用相同的 AppPool 无关紧要,因为内存对象将由模块在池中隔离。 Asp.Net 不处理所有扩展。 这里有一个页面讨论了IIS集成管道(默认应用程序池)和经典模式之间的区别,参考了IIS在每种模式下如何处理非ASP.NET文件,以及如何配置。 learn.iis.net/page.aspx/244/… @Joel Etherton 嘿,先生,正如您所说,我们可以在一个网站中同时使用 asp.net 和 php,那么我们可以在一个网站中同时使用 jsp 和 asp.net 吗?跨度> @VikasVerma:我没有直接使用它的经验,但根据我对 jsp 工作原理的理解(请注意),这当然是合理的。它们有自己的处理程序映射,因此即使它们占用相似的文件系统目录,也应该由不同的解析引擎处理。【参考方案3】:是的,你可以,但要注意这一点:
如果你的“root”上有一个 wordpress,并且它下面的文件夹中有 asp.net 应用程序
(例如http://root.com/aspnetapp1/), 如果您关注 these suggestions 关于 wordpress 中永久链接的“urlrewrite”,如果您尝试在 apsnetapp1 中配置“通配符处理程序”,您可能会遇到麻烦。
为避免出现问题,wordpress 根应用程序的 web.config 也必须具有该设置:
<location path="." inheritInChildApplications="false">
<system.webServer>
...
</system.webServer>
</location>
否则,您的通配符处理程序将永远不会引发,因为来自根目录的 index.php 将捕获您对 url 的所有请求,例如:http://root.com/aspnetapp1/api/*
【讨论】:
【参考方案4】:是的,不会有问题。甚至一些 Windows 共享主机也提供 PHP 计划 - Windows Hosting PHP。
【讨论】:
我知道您可以在 IIS 中在 Windows 上运行 PHP,但我的问题是您可以在 IIS 中的同一个网站上运行 PHP 和 ASP.Net。【参考方案5】:是的,PHP 可以无缝实现到 ASP.NET 3.5 / 4.0
转到http://phalanger.codeplex.com/(或http://www.php-compiler.net/)并下载最新版本的Phalanger。安装到 Visual Studio 中,瞧!
Phalanger – .NET 的 PHP 编译器
欢迎来到 Phalanger – 功能齐全的 PHP 运行时和编译器 .NET/Mono 框架。 Phalanger 是现代开源实现 PHP,与现有的大量 PHP 代码兼容。在 此外 Phalanger 为 PHP 应用程序开发人员提供了许多新的 可能性;从提高性能和使用现代 环境,以利用无缝独特的 .NET 集成。
【讨论】:
【参考方案6】:ASP 和 PHP 可以在 windows 盒子上使用。只要它们完全独立并且不相互依赖。例如,使用查询字符串 (i.e file.php?var=1&var2=bla)
时,当您需要将这些变量传输到 ASP 文件或反之亦然时,事情就会变得一团糟。
所以只要这两个系统完全相互独立,那么它应该可以正常工作。
您可能还会发现与 cookies 和 sessions 存在一些不兼容性。这些也可以通过,但不容易。
【讨论】:
问题是关于在同一个站点上同时运行 ASP.NET 和 PHP,而不仅仅是在同一个盒子上。因为它们共享一个 AppPool 和一个 IIS 工作进程,所以在这种情况下它们并不是“完全独立的”。【参考方案7】:ASP.NET 和 PHP 支持
使用您的选择开发、部署和轻松管理 Web 应用程序 的语言。从 ASP.NET 到 PHP,IIS7 提供了强大且 灵活的 Web 服务器环境,适用于世界上最流行的 Web 应用程序。
(来源:http://www.iis.net/overview/choice/aspnetandphpsupport)
我尝试将test.php
文件(内容:<?php phpinfo(); ?>
)放到现有的 ASP.NET 网站(使用https://somee.com 的真实服务器)。我知道 ASP.NET 和 PHP 已经协同工作了。
阅读更多:http://www.w3schools.com/aspnet/webpages_php.asphttps://technet.microsoft.com/en-us/library/hh994592.aspx
【讨论】:
【参考方案8】:您可以在同一个站点上运行两者,但除非您设置某种消息传递系统或共享存储,否则无法相互通信。它们基本上是性质完全不同的应用程序。
另一种可能性是从 PHP 调用您的 .NET 代码:
一段用 C# 编写的代码如下:
string javascript = "";
Microsoft.Ajax.Utilities.Minifier m = new Microsoft.Ajax.Utilities.Minifier();
Microsoft.Ajax.Utilities.CodeSettings settings = new Microsoft.Ajax.Utilities.CodeSettings();
settings.OutputMode = Microsoft.Ajax.Utilities.OutputMode.SingleLine;
settings.PreserveFunctionNames = false;
string minified = m.MinifyJavaScript(javascript, settings);
在 PHP 上看起来像这样:
$minifier = netMinifier::Minifier_Constructor();
$settings = netCodeSettings::CodeSettings_Constructor();
$csssettings = \ms\Microsoft\Ajax\Utilities\netCssSettings::CssSettings_Constructor();
$settings->OutputMode(\ms\Microsoft\Ajax\Utilities\netOutputMode::SingleLine());
$settings->PreserveFunctionNames(FALSE);
$settings->QuoteObjectLiteralProperties(TRUE);
$result = $minifier->MinifyStyleSheet($css, $csssettings, $settings)->Val();
发件人:
http://www.drupalonwindows.com/en/blog/calling-net-framework-and-net-assemblies-php
【讨论】:
以上是关于我用asp.net做了一个网站。。。然后用iis通过本地发布。。。。可以在局域网上浏览。。系统是win7的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net MVC3.0用Razor视图如何实现URL伪静态?真诚求教。