1

簡単な要約: IIS サーバーでホストされている Web サイトでは、スタンドアロンの Python ファイルは正しくレンダリングされますが、(たとえば VB ではなく) .aspx ページ内で Python を使用すると、Python はサポートされている言語ではないというエラーが発生します。 (どうやら) ActiveX Scripting Engine に登録されています。Python をサポート言語にしたいと考えています。

詳細: .aspx ファイルを正しく解釈して表示できる IIS 6.1 サーバーでホストされている Web サイトがあります。今までのように VB ではなく、Python を .aspx ファイル内の言語として使用したいと考えています。

スタンドアロンの Python ページを正しくレンダリングすることができました。たとえば、次のコードを含むサイト上のファイルです。

print 'Content-type: text/html'
print

print '<HTML><HEAD><TITLE>Python Sample CGI</TITLE></HEAD>'
print '<BODY>'
print '<H1>This is a header</H1>'

print '<p>' #this is a comment
print 'See this is just like most other HTML'
print '<br>'
print '</BODY>'

( source ) は、Web ブラウザーで要求されたときに、次のように正しくレンダリングされます。

これはヘッダーです。これは
他のほとんどの HTML と同じです。

ただし、Python コードを .aspx ページに埋め込もうとすると、次のようになります。

<%@ Page Language = "Python" %>
<%
  Response.Write("Python lives in the ASP delimeters!")
%>
<br />

<script language="Python">
document.write("Python's throwing a party on the client-side!")
</script>
<br />

<script language="Python" runat="server">
 Response.Write("Python gets ready to rumble inside a server-side scripting block!")
</script>

(ソース) 次のエラーが表示されます。

エラーページ

(サンプルコードの最初の行に「ページ」を追加したことに注意してください-両方とも同じエラーが発生しました)

.aspx ファイルで使用する言語として Python を登録する必要があるようです。私が見逃している可能性のあるものについてのヒントはありますか?上記の最初のリンクのすべての手順に従いました (ただし、CPython の代わりに ActivePython を使用しました)。これにより、.py ファイルが正しくレンダリングされる段階になりましたが、残念ながら、この (そうでなければ優れた) 答えはそこで終わります。

C:\Python27\Lib\site-packages\win32comext\axscript\client\pyscript.py を実行すると、「登録済み: Python」が出力されましたが、C:\Python27\Lib\site-packages\win32comext\axscript\Demos \client\asp\tut1.asp は、ソース コードから期待される 5 つのますます大きくなる "Hello World" ではなく、空白のページとしてレンダリングされます。ここで pyscript をデバッグ モードで実行することを推奨していますが、出力を表示する方法が見つかりません。

Microsoft Knowledge Base のこのページも調べましたが、これはやや古くなっているようです。たとえば、オプション/選択項目の説明のいくつかで、名前や場所が変更されています。

編集: ActivePython の最近のバージョンに問題があると主張する提案 (ここ、下部、およびここ) を見てきました。ActivePython を正式にアンインストールし、CPython 2.7 と Win32 拡張機能をダウンロードし、プロセス全体をもう一度実行しましたが、同じ結果になりました。.py ファイルは適切にレンダリングされますが、.aspx ファイル内で Python を使用しようとすると、「Python は対応言語」。

4

2 に答える 2

1

私はあなたがそれをすることができないとかなり確信しています。aspxページは、.NETアセンブリにコンパイルされるASP.NETページです。実行前にページをコンパイルするASP.NETコンパイラがどこかにあり、.NET言語のみをサポートしています...さらに悪いことに、C#とVB.NETのみをサポートしています(IronPython、F#などはサポートされていません)。

おそらく(私が知らないために)言語がプラグイン可能であった古いASPクラシックで可能だったかもしれないので、これが可能であるという考えを持っていると思いますが、これは完全に異なるASP.NETの場合ではありませんテクノロジーと共通しているのは、名前に「ASP」という文字が含まれていることだけです。

于 2012-05-12T23:04:03.097 に答える
1

私はPython の専門家ではないので、次のリソースが役立つかどうかを確認してください。

  1. Scott Guthrie IronPython for ASP.NET
  2. Codeplex上の IronPython
于 2012-05-13T04:13:13.847 に答える