では最初に簡単なサンプルとして、クライアント側のボタンをクリックしたら、サーバーでHello Wolrdという文字列をラベルに格納し、クライアントにそれを表示するプログラムを作ってみましょう。
ASP.NETはMicrosoftが提供するWebアプリケーション技術です。 F# Webプログラミング入門のサンプルはASP.NETで開発してきます。
サーバー側のプログラムはWebサーバー上で動作します。 IISなどWebサーバーを準備してください。
IIS付属のOSを購入されてない方はフリーのASP.NETが動くWebサーバーの Abyss Web Server などを使われてはいかがでしょうか。
なお、サーバー設定に手ASP.NETを有効にするのをお忘れなく。 忘れてしまうとプログラムが動作しません。
■helloworld.aspx
<%@ Page Language="F#" %> <script language="F#" runat="server"> member this.btn_OnClicked(sender: obj, e: EventArgs) = this.lblMessage.Text <- "Hello World" </script> <html> <head><title>HelloWorld</title></head> <body> <form runat="server"> <asp:Button ID="btnClick" Text="Click Here" OnClick="btn_OnClicked" runat="server"/><br /> <asp:Label ID="lblMessage" Text="" runat="server" /> </form> </body> </html>
■web.config
まだF#はWebサーバー側でデフォルトの言語として組み込まれていることがまずないので、web.configに設定する必要があります。
<configuration> <system.web> <compilation debug="true"> <compilers> <compiler language="F#;f#;fs;fsharp" extension=".fs" type="Microsoft.FSharp.Compiler.CodeDom.FSharpAspNetCodeProvider, FSharp.Compiler.CodeDom, Version=1.9.6.2, Culture=neutral, PublicKeyToken=a19089b1c74d0809"/> </compilers> </compilation> </system.web> </configuration>
ドキュメントルートに、先ほど格納したhelloworld.aspx, web.configを格納します。
ブラウザのURLに 127.0.0.1/helloworld.aspx と入れてみましょう
■実行結果
ボタンをクリックすると・・・
サーバーでプログラムが実行され、HelloWorldが表示されました!