IronPython ASP.NET MVC

Quelqu'un a-t-il essayé ASP.NET MVC utilisant IronPython? Ayant fait beaucoup de développement de Python récemment, il serait agréable de continuer avec le langage que je vais dans un potentiel ASP.NET projet MVC.

je suis particulièrement intéressé à exploiter les aspects dynamiques de Python avec les fonctionnalités .NET telles que LINQ et je veux savoir si cela sera possible. L'autre voie qui pourrait être viable pour certaines émissions dynamiques serait C# 4.0 avec son dynamic mot.

réflexions, expériences?

24
demandé sur Soviut 2009-01-14 06:45:24

3 réponses

Oui, il y a un exemple MVC de l'équipe de DLR.

Vous pourriez également être intéressé par Spark.

14
répondu Craig Stuntz 2009-01-14 14:16:01

utilisation de L'IronPython dans ASP.NET MVC: http://www.codevoyeur.com/Articles/Tags/ironpython.aspx

cette page contient les articles suivants:

  • un simple outil de commande IronPython pour ASP.NET MVC
  • un simple Ferpython ActionFilter pour ASP.NET MVC
  • un moteur de vision discrète en IronPython pour ASP.NET MVC
8
répondu Igor Zelmanovich 2010-11-19 08:59:15

j'y travaille actuellement. Il soutient d'ores et déjà beaucoup de choses: https://github.com/simplic-systems/ironpython-aspnet-mvc

plus d'informations sur ceci:

Import aspnet module

import aspnet

Vous pouvez écrire votre propre contrôleur

class HomeController(aspnet.Controller):

    def index(self):
        return self.view("~/Views/Home/Index.cshtml")

Vous pouvez enregistrer automatiquement tous contrôleur

aspnet.Routing.register_all()

Vous pouvez utiliser différentes méthodes http

@aspnet.Filter.httpPost
    def postSample(self):
        return self.view("~/Views/Home/Index.cshtml")

et il y a beaucoup plus. Voici un très courte exemple

# ------------------------------------------------
# This is the root of any IronPython based
# AspNet MVC application.
# ------------------------------------------------

import aspnet

# Define "root" class of the MVC-System
class App(aspnet.Application):

    # Start IronPython asp.net mvc application. 
    # Routes and other stuff can be registered here
    def start(self):

        # Register all routes
        aspnet.Routing.register_all()

        # Set layout
        aspnet.Views.set_layout('~/Views/Shared/_Layout.cshtml')

        # Load style bundle
        bundle = aspnet.StyleBundle('~/Content/css')
        bundle.include("~/Content/css/all.css")

        aspnet.Bundles.add(bundle)

class HomeController(aspnet.Controller):

    def index(self):
        return self.view("~/Views/Home/Index.cshtml")

    def page(self):
        # Works also with default paths
        return self.view()

    def paramSample(self, id, id2 = 'default-value for id2'):
        # Works also with default paths
        model = SampleModel()
        model.id = id
        model.id2 = id2
        return self.view("~/Views/Home/ParamSample.cshtml", model)

    @aspnet.Filter.httpPost
    def postSample(self):
        return self.view("~/Views/Home/Index.cshtml")

class SampleModel:
    id = 0
    id2 = ''

class ProductController(aspnet.Controller):

    def index(self):
        return self.view("~/Views/Product/Index.cshtml")
5
répondu BendEg 2016-03-01 20:04:45