2012-04-25 14 views
6

Quiero ser capaz de ejecutar JavaScript en el lado del servidor que ejecuta el entorno .net.
Entonces, ¿cómo es posible hacerlo? principalmente necesito funciones de procesamiento de texto, voy a ingresar una cadena y obtener una cadena devuelta desde código JavaScript.
no se necesita interacción de ventana.¿es posible ejecutar código javascript en .net framework?

+3

.Net es bastante bueno para el procesamiento de texto. ¿Hay algo específico que necesites que solo JavaScript puede proporcionar? –

+0

Me gustaría comentar el segundo @MarceloCantos. ¿Cuál es la ventaja de ir fuera de .Net para el procesamiento de texto? –

+2

Esto parece una cosa extraña de querer hacer. ¿Qué estás tratando de lograr exactamente? – asawyer

Respuesta

11

Sí, hay varios motores JS que puede usar. Jurassic, Jint y IronJS están basados ​​en .NET, pero también puede interactuar con otros como el V8 desde el navegador Chrome o el ActiveScript desde IE.

EDIT: Cinco años más tarde, los motores de JS nativas de .NET están algo retrasados ​​(ninguno apoya ES6 todavía, y IronJS parece abandonada), sino que ahora también tienen la ChakraCore de código abierto que no es muy difícil de integre y use en .NET con una de las envolturas disponibles.

Además, el JavaScriptEngineSwitcher permite el uso de casi todos los motores JS existentes desde el código .NET a través de una interfaz común, por lo que los motores de conmutación no necesitan cambiar el código.

+0

enlaces sobre cómo interactuar con Chrome o, por ejemplo, motores de JavaScript? – Karim

+1

parece que Jint es la mejor opción :) – Karim

3

Puede escribir un archivo JScript.Net y compilarlo en un ensamblaje con jsc, luego simplemente use ese ensamblaje como cualquier otro.

Ejemplo:

package Your.Desired.Package.Name { 
    Class SomeClassName { 
     public static function doSomething(foo) } 
      var bar; 

      // Fairly normal JavaScript code here 

      if (foo.match(/sometest/)) { 
       // Do something 
      } 
      else { 
       // Do something else 
      } 
     } 
    } 
} 

Aparte de las estructuras package y class, el código en JScript.Net es esencialmente JavaScript. Incluso tiene eval si quiere ser malo. :-)

A continuación, compilar en un ensamblado que de esta manera:

jsc /target:library TheFileName.js 

... Y produce y montaje en TheFileName.dll.

+0

Eso es bastante limpio. – asawyer

Cuestiones relacionadas