2012-02-09 7 views
-1

Webサーバー上で実行するのではなく、ユーザーCPUのC#Webページから時間のかかる機能を実行する良い方法はありますか? C#関数をローカルで実行することは可能ですか、JavaScriptで関数を記述する必要がありますか?関数そのものは秘密ではありませんが、入力と出力がユーザーから秘密に保たれることをお勧めします。このソリューションでは、ユーザーが何かをダウンロードする必要はありません。ビジターCPUでWebページC#の機能を実行しますか?

この関数は、データベース+ユーザー入力のデータを使用し、終了すると出力をデータベースに書き込みます。

機能のベストケースは〜1秒、平均〜30秒、最悪〜10分(すべてのユーザー)です。したがって、この機能をWebサーバーで実行するオプションはありません。

+2

クライアントで処理すると、何かを秘密にすることはできません。 –

+1

私は機能の性能を向上させることを考えています。 –

+1

あなたの質問は、Webの仕組みを完全に理解していないことを示しています。 Javascriptはクライアント側で実行されます。スクリプト言語の多くは、ASP.NETとC#ではJava Webアプリケーションとは異なります。 Silverlightはそうだろう。あなたがしたいことは意味をなさない、データベースとの通信はサーバー側で行わなければならないので、何をしたいのかを試みることによって何も得られない。 –

答えて

1

あなたは

  • (穴場)JavaScriptにC#のソースをコンパイル
  • のJavaScript
  • に機能をコーディングのいずれか

    • により、作業にこれを取得することができます

    あなたは本当に完全な秘密を保持することはできません。

    これについてはどうすればいいですか...シルバーコンポーネントにデータを提供するWebサービスと、計算結果を受け入れる別のWebサービスが必要になります。あなたは使用する必要があるのにあなたができる最善のは、難読化され...ここに誰もがこのような無行くと考えて、なぜ私は本当にデータの機密性については...

    が表示されていない、知っていますを取得するセキュリティ保護された通信層データと投稿結果を戻す、ユーザーのコンピュータ上で終わるものは、最終的にユーザーの検査のために開かれます。あなたのコードに難読化手法を使用すると、データペイロードの暗号化/復号化スキームをリバースエンジニアリングするようになりますが、基本的にゲーム開発者/ゲームクラッカーと同じゲームをプレイしています...

    個人的には、私はJavaScriptでクライアントサイドのものをコード化します。可能なことは、ライブラリのものよりもアルゴリズム的なものであるため、jsに移植するのは難しいことではありません。

    +0

    ユーザーがブラウザを閉じたり、別のページに10分ほど移動したりしないようにしてください。 – BNL

    +0

    は、ページと計算スキームに少し依存しています。あなたはあなたに何をしているのかを伝えるべきです。ユーザーはなぜあなたがこれをやっているのかを購入する必要があります。彼の写真の画像処理 - 彼はそれを望んでいるので、彼はCPUのドルでそれを支払うべきですよね? –

    +0

    を作成し、に値を格納しているJavaScriptを実行し、Submitを実行してページをリロードします。ページがロードされたら、(C#コード)の値を読み取り、データベースに追加することができます。多分ベストな方法ではないかもしれませんが、うまくいきます。 ユーザーは、この機能を実行するための積極的な選択を行い、完了したら結果を表示したいと考えています。ユーザーは自分の入力を提供し、入力が良好であれば時間がかかりません。 – Mikael

    0

    ユーザーのコンピュータで任意のcsコードを実行することはできません。また、実際には、クライアント上のjavascriptで長寿命プロセスを実行することはできません。ページとのユーザーのやりとりはブロックされ、別のページに移動すると停止します。

    これらのタスクをバックグラウンドで実行するためのWindowsサービスを作成する必要があります。 Web側から入力データを保存し、テーブルをポーリングして入力データを処理するサービスを持つキューテーブルを用意します。

    +0

    SETIのようなあなたがスケーリングの目的のために仕事をクライアントに委ねるという明白な目標を持っていない限り? –

    +0

    明らかに、クライアントにプログラムをインストールさせることができれば、コードを実行できるようになります。 – BNL

    0

    クライアントコンピュータでWebページを入力するときに、C#コードを実行することはできません。あなたは、クライアント上で実行するためにjavascriptで記述する必要があるという前提で正しいです。

    +2

    あなたは銀色のものを持っていない限り? –

    +0

    可能であれば、それは悪い考えのようです。ユーザーがブラウザを閉じたり、10分以内に別のページに移動したりするとどうなりますか? – BNL

    0

    これは機能しません。 Webサーバーが処理を行います。あなたが分散コンピューティングなどをしていない限り、クライアント上で動作するようには設計されていません。クライアントは処理のためにソフトウェアをダウンロードする必要があります。ウェブページはウェブページです。テキスト。

    0

    クライアントで実行できるコードはjsだけです。 重要な情報が含まれている場合は、クライアント上で機能を実行したくないと言われています。 SilverlightのC#のコードを実行している

    関連する問題