Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Michael 3 posts 83 karma points
    Aug 10, 2017 @ 15:20
    Michael
    0

    Umbraco - Web root on UNC share

    Hi All,

    Fairly new Umbraco dev/admin here!

    To paint a basic picture..... We have 5 IIS web servers all with their own content and a hardware load balancer on the front end. This works absolutely fine (enabled distributed calls etc).

    We are trying to move the webroot/files to a UNC path (DFS Share), as to make our lives a little easier and also Courier deployment simpler. At present we have to sync to 5 separate locations with Courier to ensure files are in sync.

    We of course have the option of syncing files sideways across the servers (with relevant exclusions) but we would rather go the shared storage route.

    So.... with that in mind, we did the following.

    1) Created a DFS Share - \domain.foo\iis-stack\testsite.com

    2) Created a domain user - usr_testsite

    3) Assigned Full control NTFS and Share permission to usr_testsite on \domain.foo\iis-stack\testsite.com

    4) Added usrtestsite to IISIUSRS Group on IIS server

    5) Copied code into \domain.foo\iis-stack\testsite.com

    6) Created new IIS site testsite.com

    7) Set Physical path to \domain.foo\iis-stack\testsite.com

    8) Set credentials to connect to path as domain.foo\usr_testsite

    9) Set Application Pool to use domain.foo\usr_testsite

    10) Added the following to Web.config

    11) Tokenized path for each index (~/App_Data/TEMP/ExamineIndexes/{machinename}/Internal/) in ExamineIndex.config

    12) Added useTempStorage="Sync" to all Indexers and Searchers in ExamineSettings.config

    13) Executed the following command to update .NET Code Access Policy C:\Windows\Microsoft.NET\Framework64\v2.0.50727\caspol -m -ag 1. -url "file://\domain.foo\iis-stack\testsite.com*" FullTrust -name "domain.foo\usr_testsite"

    14) Executed the following command to grant appropriate IIS permissions C:|Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnetregiis.exe -ga domain.foo\usrtestsite

    15) Restarted Server

    When we browse to the website we get the following YSOD....


    Server Error in '/' Application.

    The view found at '~/Views/HomePage.cshtml' was not created. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.InvalidOperationException: The view found at '~/Views/HomePage.cshtml' was not created.

    Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace: [InvalidOperationException: The view found at '~/Views/HomePage.cshtml' was not created.]

    System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +345 Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer) +239 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +375

    System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +90

    System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +833 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList1 filters, ActionResult actionResult) +81 System.Web.Mvc.Async.<>cDisplayClass21.b1e(IAsyncResult asyncResult) +186 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38 System.Web.Mvc.Controller.b1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +67 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +36 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38 System.Web.Mvc.MvcHandler.b5(IAsyncResult asyncResult, ProcessRequestState innerState) +44 System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +67 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +137


    However, we can login to the backend fine and everything seems to work.

    The umbraco.config gets copied to the C:\Windows\Temp directory as expected, indexes seem to be created OK. Tokenized folder etc.

    Here is what we have tried so far.......

    1) Cleared AppData\TEMP -> Restarted App Pool 2) Cleared AppData\TEMP and cache folder -> Restarted AppPool 3) Did Step 2 -> Logged in -> Replubished all pages ) Created Symbolic Link from local folder to UNC -> Repointed site to symlink - Restarted AppPool 4) Added usrtestsite to Local Administrators 5) Added explicit permissions over C;|Windows\Temp to usrtestsite 6) Logged in to server (OS) as usr_testsite -> Permissions and acces to shares etc all checked out OK. 7) Changed AppPool and UNC share user to a Domain Admin account.

    All above resulted in same error - There is more but I don't remember all things tried :(

    One other thing I did do is to create a basic html page website - placed in UNC share and created a new IIS site and pointed at the UNC share - AppPool user and UNC Share credentials the same as testsite.com - All worked OK and page was rendered.

    There has to be something I am missing somewhere - either permissions or config wise with Umbraco.

    Source: https://our.umbraco.org/documentation/getting-started/setup/server-setup/load-balancing/files-shared

    Can anyone see if there is anything obvious I am missing?

    Many tahnsk in advance.

    Mike

  • Michael 3 posts 83 karma points
    Aug 14, 2017 @ 10:27
    Michael
    0

    Hi All,

    Does anyone have any ideas or input on this? Its quite important that we get this working ASAP.

    Many thanks in advance

    Mike

  • Ronish Potiah 18 posts 168 karma points
    Aug 14, 2017 @ 12:58
    Ronish Potiah
    100

    Hi,

    Make sure to rebuild your models.

    Also, check if the model builder is enabled and is of type Dll in web.config.

    <add key="Umbraco.ModelsBuilder.ModelsMode" value="Dll" /> 
    

    Hope this helps, Ronish

  • Michael 3 posts 83 karma points
    Aug 22, 2017 @ 00:12
    Michael
    0

    Many thanks... That worked perfectly :)

Please Sign in or register to post replies

Write your reply to:

Draft