2011-01-12 3 views
1

これはおそらくダムと聞こえますが、私は自分のhtmlファイルからC#コードを実行する必要があります。たとえば、これを実行したいだけです。htmlファイルでC#.netコードを実行するには?

System.Diagnostics.Process.Start(@"D:\Movies\HurtLocker.avi"); 

サーバー側のコードではありません。

ブラウザでaspxページを開くには、IISでホストする必要があるため、aspxページを作成できません。

+0

あなたの質問は本当に「視聴者がビデオを見ることを可能にするウェブページを作成するにはどうすればよいですか? –

+0

@Davidこれは単なる例です。あなたは私のHTMLファイルで.netライブラリを使いたいと言うことができます。 – BreakHead

+0

可能であれば、誰かがプロセス 'format.exe'を開始しようとするのを止めるのですか? –

答えて

2

どこでC#コードを実行しますか?

htmlをレンダリングするために使用されているブラウザで実行したい場合は、基本的には不可能だったと思います。何か、おそらくHTMLページのjavascriptコードは、何らかの形で.net clrをインスタンス化し、実行のためにC#コードを渡す必要があります。 clrにはCOMベースのhosting interfaceがあり、インスタンス化が可能ですが、javascriptから呼び出すことができても、わかりやすいブラウザーのセキュリティ設定がそれを妨げると思います。

htmlページを提供するサーバーでc#を実行する場合は、asp.netを使用する必要があります。

EDIT

[OK]を、あなたはブラウザでそれを実行したいです。私はブラウザプロセスでclrをホストするための例を知らない。

あなたはvar obj=new ActiveXObject("<comclassname>");のようなものを使用して、JSでのActiveX/COMオブジェクトを作成することができ、あなたがthis pageに記載されているCOMクラス(多分CLRRuntimeHost)のいずれかをインスタンス化することにより、CLR方法を作成することができるかもしれません。実行のためにあなたのC#コードをあなたのclrに渡すことができます。詳細情報hereおよびhere。しかし、それがうまくいくかどうかは本当に分かりません。私はホスティングAPIを使用したことがない、私はそれが存在することを知っている!

興味がある場合は試してみてくださいが、これを実際の環境に配備すると多くの問題が発生する可能性があります。がんばろう!

+0

Thanx Andy、私はあなたに同意します。私は本当に.net CLRをjavascriptから呼び出そうとしたいと思います。 – BreakHead

+0

@BreakHead上記の編集を参照してください –

3

クライアントサイドページからサーバーサイドコードを実行することはできません。あなたのページがaspxの場合は、Webサービスを使用するか、javascriptからserversideボタンをクリックすることができます。

編集:ビデオプレーヤーを埋め込みたい場合は、check this linkを入力してください。このためにサーバー側のコードは必要ありません。あなたはjavascriptでそれを行うことができるでしょう。

+0

Thanx pabuc。私は質問を更新しました。確認してください。 – BreakHead

+1

私の答えは変わりません。 htmlページでこれを行う有効な方法はありません。静的ページ(html)でムービーを再生しようとしている場合は、さまざまな方法でこれを行うことができます。これは、あなたの望むことですか? – Pabuc

0

ASPファイルにコードブロックを作成することはできますが、これが単純なHTMLファイルであれば不可能です。

少なくとも、ページの内容を読み込んでコンパイルして実行するアプリケーションがあります。

ASP code block

0

Pabucは、HTML内のクライアントマシン上のサーバー側のコードを実行することはできません述べたように。 Silverlightを使用する場合、コードクライアント側を実行することができますが、クライアントはSilverlightをインストールする必要があり、厳密にはHTMLではありません。

Silverlightを使用して、C#でムービークライアント側を再生することができます。

0

クライアントサイドでC#を使用する唯一の方法は、Silverlightアプリケーション[更新]または他のブラウザプラグイン(@kenny)です。

0

私はこのためにソフトウェアを見つけようとしました。従来のウェブプログラミングでは難しいソフトウェアが必要です。

ここでは、C#またはVB.NETを使用してHTML5オンラインアプリケーションを作成する簡単なデモを作成しました。 .NETアプリケーションを実行するとC#をJavascriptに変換するのはスコットライブラリです。また、C#コードで実行されるブラウザ上のイベントもサポートしています。元の質問に

あなたは後に、単一の行を追加する必要がありますHTMLページで:.NETクラスを接続するために

<script src="myclass.cs"> </script>` 

using Scot; 
//.. 
public myclass:Document 
{  
    protected override OnConnect()  
    {   
     Elements["mybutton"].OnClick+=new JsInputEventHandler(click); 
     //your initialization  //....  
    }  
    private void click(object sender, JsInputEventArgs e)  
    {   
     Window.Alert("Click()");  
    } 
} 

デモは、非常に簡単です実際に私は別のプロジェクトのためにこのライブラリが必要でした。 フィードバックをお寄せいただきありがとうございます。

関連する問題