问题标签 [iisnode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Windows Azure 网站覆盖了我的 node.js 应用程序中的 404 和 500 错误页面
我正在使用 Windows Azure 网站来托管 node.js 应用程序。到目前为止,除了我的自定义错误之外,一切都很好。在我的节点应用程序中,我有一个错误处理程序,可以在我的本地机器上呈现自定义 404 和自定义 500 错误页面。但是,一旦我发布到 azure,当我将 statusCode 设置为 200 以外的任何值时,它都会覆盖响应。
如果我没有将 500 或 404 statusCode 传递给响应,则不会发生这种情况,但我确实希望将状态代码发送到浏览器。在本地我得到我的自定义错误页面就好了:
但是,在 azure 网站上,它只返回一行文本:
由于发生内部服务器错误,无法显示该页面。
我尝试创建自己的 web.config 以覆盖禁用自定义错误的默认配置,但这似乎没有任何效果。这是我的 web.config:
我不确定iisnode
(将请求路由到 node.js 的 iis 扩展)是否负责覆盖我的错误页面,或者 iis 本身是否负责。有什么建议么?
asp.net - 如何修改 web.config 以不重写某个 url?
我在 iisnode 下运行 node.js 应用程序(IIS 的扩展,允许 node.js 通过 IIS 管理请求)。默认情况下,iisnode 提供对调试工具的访问权限http://myapp.com/debug
。然而,Windows Azure 网站使用 web.config 中的 urlrewrite 覆盖了这一点(可能是偶然的)。
我对 web.config 重写知之甚少,但在我看来<action type="Rewrite" url="app.js"/>
,只要请求与服务器上的实际静态文件不匹配,它就会将所有请求路由到 app.js(我的主应用程序文件)。这很好,除了我不想/debug
被路由到 app.js,我想让 iisnode 默认处理该请求,就像它应该做的那样。如果我删除<action />
重写/debug
确实会启动 iisnode 调试器,但是当然没有其他工作:P
如何修改此 url 重写以避免/debug
?
c# - 收到此错误 - “处理程序“iisnode”在其模块列表中有一个错误模块“iisnode””
我正在尝试在我的天蓝色项目中实现 socket.io。我按照这里提到的说明https://github.com/tjanczuk/iisnode在我的 Windows 8 上安装了 iisnode。一切都安装得很好,这里 iisnode 附带的示例 node.js 应用程序也http://localhost/node/helloworld/hello.js
运行得很好。
但是当我在我的 VS 2012 上的 azure 项目中运行我的 App.js 时,我收到错误“处理程序“iisnode”在其模块列表中有一个错误的模块“iisnode””。这非常令人沮丧。
网页配置
有谁可能是什么问题?任何想法都将不胜感激……我一整天都对此感到震惊。
编辑:
我的应用程序在 iis express 上运行,所以我从 Web Platform Installer 为 IIS Express 安装了 IISNode。但我认为 IIS Express 的 IISNode 仅适用于 x86,因为它正在我的程序文件(x86)中寻找 node.js,所以即使我的系统是 64 位,我也必须安装 x86 版本的 node.js。在 socket.io 工作之后,但是当我在包含 socket.io 实现的浏览器中打开我的 App.js 时,我收到以下错误。我应该担心这个错误吗?因为 socket.io 实现工作正常
asp.net-mvc - 在 Asp.net MVC 中运行 express.js 应用程序
我想用 asp.net mvc 运行 node.js 来执行 socket.io 操作。
我已经成功地将 node.js 包含在 asp.net mvc 中,如此处所述
我的问题是如何在 asp.net mvc 中运行 express.js,
我已经在 Global.asax.cs 文件中执行了 url 重写,例如
void Application_BeginRequest(object sender, EventArgs e)
{
// 获取当前路径
字符串 CurrentPath = Request.Path.ToLower();
if (CurrentPath.StartsWith("/node"))
{ HttpContext MyContext = HttpContext.Current;
MyContext.RewritePath("/Node/index.js/");
}
}
所以在 url http:localhost:1234/node应该将我重定向到 Node 文件夹中的 index.js 文件
一切正常,但是,当我开始在 index.js 中编写 express.js 服务器时
var express = require('express');
var app = express.createServer();
app.get('/node/', function(req, res) {
res.send('欢迎表达');
});
app.listen(process.env.PORT);
我收到错误提示无法获取 /Node/index.js/
我在哪里失踪?请指导我如何在 asp.net mvc 中编写 express.js 编码
我正在使用 IIS 8.0 express 在 windows 7 32 位系统中运行此应用程序,并且安装的节点版本是
iisnode.js - iisnode-full-iis7-v0.2.3-x86
node.js - node-v0.8.19-x86
谢谢你。
node.js - 如何在 Windows azure 云项目中启动节点 js 脚本?
我对 node js 和 socket.io 非常陌生。我正在将 socket.io 用于 Windows azure 项目。我创建了一个启动 socket.io 服务器的 App.js,但我不知道如何以编程方式运行该脚本。我能够从命令提示符(如“node app.js”)运行该脚本,并且 socket.io 服务器启动并且客户端应用程序能够与 socket.io 服务器很好地交互。
我也可以去 127.0.0.1/App.js 和 socket.io 服务器启动。
但是我希望脚本在我在 VS 中启动项目后立即自动运行。关于我该怎么做的任何想法?
编辑:
原来iisnode可以处理所有事情,我只需要在web.config中放置一个重写代码。从这里http://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/的示例 azure node js 应用程序我得到了这个重写代码
它会自动启动 App.js,但会将我的所有视图重新定向到 App.js 脚本。我想这与我上面写的重写代码有关。我应该进行哪些更改才能让 App.js 在启动时运行并且仍然能够访问我的其他 html 视图?
谢谢
c# - 如何在 Windows azure 中使用启动任务来运行节点 js 文件?
我想通过在角色启动时在 cmd 提示符下运行我的 App.js 脚本来启动节点 js 服务器。(在 cmd.exe 中运行“node App.js”)
我遇到了 azure 中启动任务的功能。像这样的东西
但它不起作用。有谁知道如何将写命令放在命令行中以便 App.js 运行?而且它似乎命令行任务是相对于 AppRoot\Bin 文件夹的部署,所以我必须把 cmd.exe 和 App.js 放在 bin 文件夹中。在发布到我的 azure 帐户时,我认为将它们放在 bin 文件夹中不可行吗?
无论哪种方式,如果有人能告诉我如何在我的角色启动时自动启动节点 js 脚本,将不胜感激。
谢谢
json - iisnode 中的 JSON 格式
在本地运行我的 node.js 应用程序时,我会得到格式良好的带有换行符和空格的 JSON 输出,如下所示:
但是当我在 Azure 上的 iisnode 中运行相同的代码时,我得到了这个:
并不是说它有任何功能差异,后者甚至节省了一些额外的字节,但很高兴知道差异来自哪里。
这是代码:
c# - 如何设置我的 Windows azure 帐户以支持节点 js 脚本?
多亏了 iisnode,我已经能够在本地模拟器上运行节点 js 脚本。但是当我将我的项目发布到 Windows azure 时,节点 js 脚本不起作用。我是否必须在我的天蓝色上设置一些东西才能运行节点 js 脚本,比如在天蓝色上安装 iisnode 或节点 js?我猜他们会默认安装。我对 Windows azure 很陌生,请指导我如何在我的 azure 云平台上运行节点 js 脚本。
编辑: https ://www.windowsazure.com/en-us/develop/nodejs/tutorials/create-a-website-(mac)/
上面的文章说该平台应该有 Node.js 和适用于 Node.js 的 Windows Azure SDK 的有效安装,所以我猜想它们在 azure 上默认没有安装?关于如何检查的任何想法?甚至我如何安装它们?通过 RDP 进入我的角色实例还是通过 azure 管理门户的某种方式?
asp.net - 可以让 iisnode 下的 NodeJS 应用程序使用 ASP.NET FormsAuthentication 进行身份验证吗?
1) 我们有一个需要在 IIS 7.5/Win2k8 R2 下托管的 NodeJS 应用程序。
2) 我们有其他应用程序已经使用 ASP.NET FormsAuthentication。3) 将使用 NodeJS 应用程序的用户与现有应用程序的用户是相同的用户。
因此,我们将 FormsAuthentication 配置设置放在 web.config 中,IIS 正在读取它:
[ IIS > 站点 > {iisnode-site} > 身份验证] - 还不能发布图片!
但是,它完全忽略了配置 - 所以我认为可能在 FormsAuthentication 模块之前调用了 iisnode 模块,但是当我查看模块列表(有序视图)时,它在该站点的底部列出了 iisnode,而 FormsAuthentication 模块在上面列出iis节点。
这甚至可能吗?我在另一篇文章@Intercept requests for iisnode with HttpModule上看到,这可能是解决方法,但这种方法意味着我们需要滚动一个 XHR 标头代理(各种)——我们可以这样做,但作为最后的手段。