Я ищу, чтобы медленно преобразовать приложение Node.js
в ASP.NET WebAPI 2.0
. В настоящее время я использую IIS
и буду придерживаться IIS
. Итак, я хотел бы разместить их на одном сервере, но перенаправить некоторые URI на новую платформу.Запустите node.js & WebAPI на том же сервере для того же сайта с IIS
Как бы это сделать в web.config
? В настоящее время web.config
для node.js
выглядит так:
<configuration>
<system.webServer>
<handlers>
<!-- indicates that the app.js file is a node.js application
to be handled by the iisnode module -->
<add name="iisnode" path="beta/app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<!-- Don't interfere with requests for node-inspector debugging -->
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^beta/app.js\/debug[\/]?" />
</rule>
<!-- First we consider whether the incoming URL matches a physical file in the /public folder -->
<rule name="StaticContent">
<action type="Rewrite" url="beta/public{REQUEST_URI}" />
</rule>
<!-- All other URLs are mapped to the Node.js application entry point -->
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="beta/app.js" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="Detailed"/>
</system.webServer>
</configuration>
Структура файла:
- web.config (the one shown above)
-> node
- app.js
- ...
-> webapi
- web.config
- global.asax
- ...
Я думал, что я должен писать новое правило, в котором перечислены идентификаторы URI, чтобы перейти к WebAPI
. Но я не совсем уверен, как это сделать. Я предполагаю, что я бы добавил условие для каждого URI
с атрибутом input
. Я также думал, что должен указать на проект ASP.NET WebAPI
, но я еще более не знаю, как мне следует это делать с Node.js
Я просто указываю на файл app.js
.
Я думаю, что должно быть 'match' тегов в вашей 2-й и 3-го правила тега. и действие должно быть чем-то вроде ' '. {R: 1} соответствует части в URL-адресе. Поскольку я не знаю, какое правило вы хотите применить, вы можете привести пример. –
kiro
спасибо за указатель @kiro. Я не уверен, относится ли это к тому, что я делаю, поскольку исходный файл node.js 'web.config' отлично работает. Вы можете увидеть, что мне нужно сделать в решении ниже. При попытке создания отдельных проектов я делал несколько ошибок. – Jon49