2011-01-03 40 views
6

Tôi muốn cho phép người dùng sử dụng ngôn ngữ kịch bản để tùy chỉnh thêm ứng dụng của mình.
Tôi đang tìm một công cụ tập lệnh có thể nhúng là luồng an toàn, vì đó là một ứng dụng ASP.NET. Tôi đã kiểm tra một số công cụ, như Javascript.NET (https://github.com/JavascriptNet/Javascript.Net) nhưng nó không phải là Chủ đề an toàn. Các triển khai khác mà tôi thấy không đủ ổn định.Công cụ tạo mã cho ứng dụng asp.net

Bất kỳ sugestions nào?

Cảm ơn bạn,

Fábio

+0

JavaScript.Net là chủ đề an toàn trong những ngày này, mặc dù bạn sẽ cần phải thực hiện một số khóa riêng của mình nếu bạn muốn nhiều luồng để gọi vào cùng một phiên bản của động cơ. –

Trả lời

3

lẽ IronPython hoặc IronRuby dưới DLR là phù hợp?

Bạn có thể đánh dấu các điểm mở rộng của mình bằng cách sử dụng MEF và cho phép tập lệnh mở rộng chức năng của ứng dụng.

Chúng tôi đã sử dụng thành công trong MahTweets (một ứng dụng WPF) - nhưng tôi không thể xác minh cho nó sử dụng trong một tình huống ASP.NET.

Tất nhiên, an toàn luồng sẽ là mối quan tâm nhỏ nhất của bạn nếu bạn cho phép những người ngẫu nhiên chạy mã tùy ý trong ứng dụng của bạn. Họ sẽ có đầy đủ khả năng hoàn toàn bỏ qua bất kỳ chức năng bảo mật nào bạn có và thay đổi/sao chép bất kỳ dữ liệu người dùng nào. Caveat Emptor ..

+0

Vui lòng không gọi người dùng của tôi là "những người ngẫu nhiên". Họ dễ bị xúc phạm :). – Fabio

+0

Xin lỗi, 'Bên thứ ba không xác định': p –

+2

nếu bạn kích hoạt AppDomain mới để chạy công cụ tập lệnh và đặt những hạn chế nghiêm trọng, bạn có thể khóa môi trường tập lệnh khá nhiều. –

2

Bạn cũng có thể sử dụng Lua với thứ gì đó như LuaInterface (http://code.google.com/p/luainterface/). Tùy thuộc vào mức độ trừu tượng và/hoặc tự do của bạn đối với người dùng viết kịch bản, bạn có thể phải cấu trúc lại rất nhiều mã nếu bạn muốn giới thiệu một công cụ tạo kịch bản.

Các vấn đề liên quan