שלח תשובה

זירת השאלות

659
צפיות
4
תשובות

שימוש בקוד vbscript בדף asp.net

,‏ 2 באוקטובר, 2005

שלום, יש לי סקריפט ארוך ב vbscript ואני רוצה שהוא ישתמש ברכיב של  .NET

אין לי בעיה להשמש ברכיב בדף ASPX ואין לי בעיה להשתמש בסקריפט בדף ASP (או VBS) השאלה היא איך אני עושה ש Class שנכתב בסביבת .NET  יוכל להיות נגיש לסקריפט (להכניס את הסקריפט לASPX, או הפוך, להנגיש את הclass ל ASP).
ניסיתי להגדיר פשוט את הסקריפט כ vbscript  

<script language=vbscript runat=server>

אבל הוא מתעקש להתייחס אליו כ VB,
(הסקריפט הוא מעל 1000 שורות והוא עובד טוב ככה שלא בא לי לשכתב אותו…),
תודה.

תגיות:

4 תשובות

  1. אוריקס הגיב:

    המממ
    שתי אפשרויות:
    1. אם יש לך גישה לשרת אז תקמפל, תשים בתוך אובייקט COM ותקרא לקוד.
    2. אם לא, שים את הקוד בדף ה ASP, שלח לו בקשה ותראה מה הוא מחזיר.

  2. Admini הגיב:

    שתיהן עקומות. עדיף לתרגם לדוט נט
    אגב, זה גם לא מסובך כל כך

  3. yarono הגיב:

    תנסה את זה
    אבל תצטרך לתת הרשאות ביצוע למשתמש איי.אס.פי דוט נט בשרת שלך למחיצה שבה נמצא הסקריפט


    <%@ Page Language="C#" Debug="true"%>
    <%@ Import Namespace="System"%>
    <script runat="server">
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.startInfo.FileName = "c:windowssystem32cscript.exe";
    proc.startInfo.Arguments = Server.MapPath("hello.vbs");
    proc.startInfo.UseShellExecute = false;
    proc.startInfo.CreateNoWindow = true;
    proc.startInfo.RedirectStandardOutput = true;
    proc.startInfo.RedirectStandardError = true;
    //Start the Process.
    proc.start();
    proc.WaitForExit();
    response.write(proc.StandardOutput.ReadToEnd());

    </script>
    <HTML><HEAD><TITLE>Orders Report</TITLE></HEAD>
    <BODY>
    <DIV align=center>
    </DIV>
    </BODY>
    </BODY>
    </HTML>

  4. yarono הגיב:

    והנה גרסה בvb.net + תמיכה בעברית

    <%@ Import Namespace="System.IO"%>
    <%@ Page CodePage=1255 %>
    <script language="VB" runat="server" Codepage=1255>
    function hebEncode(txt) 'encode Hebrew Chars
        dim i, pAsc as Integer
        Dim p as String
        hebEncode =""
        for i = 1 to len(txt)
        p = mid(txt,i,1)
        pAsc = asc(p)
        if pAsc>223 and pAsc<251 then p = server.htmlEncode(p)
        hebEncode = hebEncode & p
        next
    end function

    Sub Page_Load(sender As Object, e As EventArgs)

    Dim output As String
    Dim p as new System.Diagnostics.Process

    p.StartInfo.FileName = "C:WINDOWSsystem32cscript.exe"
    p.StartInfo.RedirectStandardOutput = True
    p.StartInfo.RedirectStandardError = True
    p.StartInfo.UseShellExecute = False
    p.StartInfo.Arguments = "C:inetpubwwwroottesttest.vbs //Nologo"
    p.Start()
    p.WaitForExit()

    output = hebEncode(p.StandardOutput.ReadToEnd)
    Label4.text=output
    Response.write("הפעולה בוצע בהצלחה")
    p.Close()
    p.Dispose()

    End Sub
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Strict//HE">
    <HTML xmlns:asp>
        <HEAD>
            <TITLE></TITLE>
            <META http-equiv="Content-Type" content="text/html; charset=windows-1255">
            
            <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
            <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
            <meta name="vs_defaultClientScript" content="JavaScript">
            <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"&gt;
        </HEAD>
    <asp:Label id="Label4" runat="server"></asp:Label>

שלח תשובה