VisualStudio2012からWebsharperサイトレットプロジェクトを作成しました。これをSiteletTestと呼びます。
このプロジェクトをまとめました。
次に、SiteletTest/Webをinetpub/wwwrootにコピーしました。
次にlocalhost/SiteletTest
、localhost/SiteletTest/Home
に移動しlocalhost/SiteletTest/home
ますが、いずれの場合もhttp404を取得します。
そこに行くとlocalhost/Main.html
ページが表示されるので、このディレクトリに行くことは機能しているように見えますが、websharperは機能していないようです。
私のweb.configは以下のとおりですが、他に何をすべきかわかりません。.net4を使用するようにアプリケーションプールを設定しました。
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<authentication mode="Forms" />
<pages>
<controls>
<add tagPrefix="WebSharper" namespace="IntelliFactory.WebSharper.Web" assembly="IntelliFactory.WebSharper.Web" />
<add tagPrefix="ws" namespace="Website" assembly="Website" />
</controls>
</pages>
<httpModules>
<add name="WebSharper.Remoting" type="IntelliFactory.WebSharper.Web.RpcModule, IntelliFactory.WebSharper.Web" />
<add name="WebSharper.Sitelets" type="IntelliFactory.WebSharper.Sitelets.HttpModule, IntelliFactory.WebSharper.Sitelets" />
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="WebSharper.Remoting" type="IntelliFactory.WebSharper.Web.RpcModule, IntelliFactory.WebSharper.Web" />
<add name="WebSharper.Sitelets" type="IntelliFactory.WebSharper.Sitelets.HttpModule, IntelliFactory.WebSharper.Sitelets" />
</modules>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
<assemblyBinding appliesTo="v4.0.30319" xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
これが私のニーズに合うかどうかがわかるまで、ライセンスの支払いはしません。では、どうすればこれを機能させることができますか?
サイトレットコードをコピーしたくありませんが、ここにいくつかのフラグメントがあります。
type Action =
| Home
| Contact
| Protected
| Login of option<Action>
| Logout
| Echo of string
および別のフラグメント:
module Pages =
/// The home page.
let HomePage : Content<Action> =
Skin.WithTemplate "Home" <| fun ctx ->
[
H1 [Text "Welcome to our site!"]
"Let us know how we can contact you" => ctx.Link Action.Contact
]