1

VisualStudio2012からWebsharperサイトレットプロジェクトを作成しました。これをSiteletTestと呼びます。

このプロジェクトをまとめました。

次に、SiteletTest/Webをinetpub/wwwrootにコピーしました。

次にlocalhost/SiteletTestlocalhost/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
             ]
4

1 に答える 1