Home Support Site Search Faq Register Login  
FileUp
FileUp Cache Dir

Thread Starter: DPedrelli-DHRS   Started: 09-21-2012 12:08 PM   Replies: 12
  21 Sep 2012, 12:08 PM
DPedrelli-DHRS is not online. Last active: 11/1/2012 2:40:02 PM DPedrelli-DHRS

Top 10 Posts
Joined on 09-21-2012
Posts 5
FileUp Cache Dir
I have FileUp running on an existing server, without a problem.  I am trying to move the existing application to a new server and I used the same settings as is on the existing server.

In the Registry, I set:
FileUpTempDir = D:\DSS-Scans\upload-cache
IsapiTempDir = D:\DSS-Scans\upload-cache

web.config
<identity impersonate="true" userName="<domain user account>" password="<user password>" />

The domain user account specified has permission to the FileUpTempDir.  However, FileUp is using C:\Windows\Temp.  I can tell because I made the change last night.  This morning, C:\Windows\Temp was filed with sa*****.tmp files.  The problem is that when there are few uploads, it works fine.  However, when a lot of people try to upload, they get errors:

An exception has occurred
Access is denied.

It appears that C:\Windows\Temp gets to a point and does not allow any more writes, without deleting files.  How can I force FileUp to use the correct directory?  Is it not using domain account that I specified and reverting to the default C:\Windows\Temp?

Thanks,

David


  
  24 Sep 2012, 12:57 PM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Hi David,

Is this a .NET or classic ASP application?  Is anything getting cached to the correct location?  One thing that could cause FileUp cache all your files C:\Windows\Temp rather than the directory specified in the registry would be if it is a .NET application and the HttpModule is not configured correctly.  If the HttpModule doesn't intercept the request and cache the file, the FileUp object will cache it, either to the location set by the .Path property or to a default location if the .Path property hasn't been set.  Even if the HttpModule is configured correctly, the FileUp object will still temporarily cache very tiny files during the process of the upload.  If you want to control this location, set the .Path property before referencing any form elements. 

Please tell us more about your application and we will continue helping you troubleshoot the problem.

Thanks,

Joy


  
  24 Sep 2012, 3:48 PM
DPedrelli is not online. Last active: 5/5/2016 6:54:41 PM DPedrelli

Top 10 Posts
Joined on 10-25-2006
Posts 16
Re: FileUp Cache Dir
Joy,

It is an ASP.NET application, using the .uplx script map, which points to C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll.

The problem that we are having is that C:\Windows\Temp seems to hit a maximum allows size and Windows denies permission to write to the directory, even though there is free space on the drive.

I don't know what other information you need.  Here is our web.config.  I removed the connectionString, and the impersonate username, and password.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.web>
        <customErrors mode="Off" />
        <!--
            Set compilation debug="true" to insert debugging
            symbols into the compiled page. Because this
            affects performance, set this value to true only
            during development.
        -->
            <compilation defaultLanguage="c#" debug="true">
                <!-- FileUp Entries -->
                <buildProviders>
                    <add extension=".uplx" type="System.Web.Compilation.PageBuildProvider" />
                </buildProviders>
            </compilation>

            <!-- FileUp Entries -->
            <!-- Allows upload requests to be processed by the module. -->
      <httpHandlers>
        <add verb="*" path="*.uplx" type="System.Web.UI.PageHandlerFactory" />
      </httpHandlers>
      <!-- This loads the FileUp HttpModule for this application. Version numbers must match
                the FileUpEeModule.dll exactly. -->

            <httpModules>
                <add name="FileUpModule" type="SoftArtisans.Net.FileUpModule, FileUpModule, Version=5.1.1.26, Culture=neutral,PublicKeyToken=f593502af6ee46ae" />
      </httpModules>
      <httpRuntime executionTimeout="3600" maxRequestLength="1048576" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />     
      <!--
              Impersonation is necessary to access network resources.
            IIS Web site user account appears to only grant access to Web site directory and
            is not used to access network resources used by Web applications.
      -->
      <identity impersonate="true" userName="" password="" />
        <sessionState mode="Off" />

            <authentication mode="Forms">
                <forms name=".ASPXFORMSAUTH" loginUrl="login.aspx" protection="All" timeout="1" />
            </authentication>
            <authorization>
                <deny users="?" />
            </authorization>

    </system.web>
    <system.webServer>
        <defaultDocument>
            <files>
                <add value="default.uplx" />
            </files>
        </defaultDocument>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="1000000000" />
            </requestFiltering>
        </security>
        <handlers>
            <add name="FileUp" path="*.uplx" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
        </handlers>
    </system.webServer>
    <appSettings>
        <add key="DefaultPage" value="default.uplx" />
        <add key="CacheDir" value="D:\Temp\upload-cache\" />
                <add key="InDir" value="C:\DSS Scans\" />
                <add key="OutDir" value="C:\DSS Scans\Sent\" />
          <add key="UploadDir" value="\\nas\ROI Catalog\" />
          <add key="BillsFile" value="-bills.pdf" />
          <add key="DSSUploadDir" value="\\ts\records-in\" />
        <add key="KCCCUploadDir" value="\\ts\kccc\" />
          <add key="UPMCEpicFile" value="-epic.pdf" />
          <add key="UPMCEpicUploadDir" value="\\ts\DSS-Scans\records-in\UPMC-Epic\" />
        <add key="MDWFile" value="-mdw.pdf" />
        <add key="MDWUploadDir" value="\\ts\DSS-Scans\records-in\MDW\" />
        <add key="UofLFile" value="-uofl.pdf" />
        <add key="UofLUploadDir" value="\\ts\DSS-Scans\records-in\UofL" />
    </appSettings>
    <connectionStrings>
        <add connectionString="" name="dss_sql" />
    </connectionStrings>
</configuration>

Thanks,

David

  
  10 Oct 2012, 6:56 PM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Are you seeing temp files also get created in the directory specified in the registry?  If so, that means the HttpModule is working and these other files are much smaller temp files created by the FileUp object.  If you can verify that the HttpModule is working and you are still having this problem, I recommend setting the .Path property to the same location as the one in the registry key. 

For example (C#):

FileUp upload = new FileUp(Context);
upload.Path = @"D:\DSS-Scans\upload-cache";

... continue with your upload processing code.

This should make sure all temp files created by either the HttpModule or the FileUp object go to the same place.  Please let us know if this helps.

Thanks,

Joy


  
  16 Oct 2012, 11:37 AM
DPedrelli-DHRS is not online. Last active: 11/1/2012 2:40:02 PM DPedrelli-DHRS

Top 10 Posts
Joined on 09-21-2012
Posts 5
Re: FileUp Cache Dir
Joy,

I had a typo in the previous post.

I changed the FileUp.Path
FileUp oFileUp = new FileUp(Context);
oFileUp.Path = @"D:\Temp\upload-cache";

Registry:  HKLM\Software\Software Artisans\SA-FileUp\Parameters
FileUpTempDir = D:\Temp\upload-cache
IsapiTempDir = D:\Temp\upload-cache

I am using impersonation to specify a domain user within IIS.  I folder security permission to allow that user to modify the folder.  Also, I tried setting permissions for Users, Domain Users, and Everyone.

I tested uploading a very large file and every time I confirmed that it is being cached to C:\Windows\Temp.  C:\Windows\Temp is not a problem when a few people upload.  However, during high traffic times, the directory gets to about 2 GB, and Windows will not allow anything else to be written to the directory.  Daily, hundreds of files do not upload successfully. 

On our existing system, FileUp caches to the directory that is specified in the registry.  Both systems run Windows Server 2008.  Is there another setting or something about Windows that may cause this problem?

Thanks,

David

  
  17 Oct 2012, 12:56 PM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Hmm.  Now that you have changed the .Path property, even if the HttpModule isn't configured properly, FileUp should be caching everything to "D:\temp\upload-cache."  If the HttpModule isn't intercepting the request, ASP.NET would also be caching the entire request somewhere before FileUp is able to access it, but those cache files wouldn't be named sa***.tmp.  Are you sure the new code is executing?  Is anything at all getting written to the correct directory?

I suggest running procmon during a small upload to look at the registry and filesystem activity of the IIS process while the upload is in process.  Is the FileUpTempDir registry key being read?  Is D:\temp\upload-cache being written to?  Please let us know what you find.

Thanks,

Joy


  
  18 Oct 2012, 11:33 AM
DPedrelli-DHRS is not online. Last active: 11/1/2012 2:40:02 PM DPedrelli-DHRS

Top 10 Posts
Joined on 09-21-2012
Posts 5
Re: FileUp Cache Dir
Joy,

That is a handy tool.  I have used Process Explorer, but not Process Monitor.  Despite the 17,000 lines of log, for a five second upload, it identified the problem.  FileUp created two registry paths:  HKLM\Software\Software Artisans and HKLM\Software\Wow6432Node\Software Artisans.  It was reading from Wow6432Node.  I changed the path there and I had to restart the computer, but it uses the correct cache directory.

Thanks,

David

  
  18 Oct 2012, 4:41 PM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Glad to hear the problem is resolved!

- Joy


  
  23 Oct 2012, 11:12 AM
DPedrelli-DHRS is not online. Last active: 11/1/2012 2:40:02 PM DPedrelli-DHRS

Top 10 Posts
Joined on 09-21-2012
Posts 5
Re: FileUp Cache Dir
Joy,

I thought so.  I moved it to production, yesterday morning.  It worked fine, all day.  This morning, I was told that people were getting Access Denied errors and I had to switch back to our old server.

D:\Temp\upload-cache has 417 files at 588 MBs, from 10/23 12:30 AM to 10/23 9:30 AM.  Since I reverted our production system, I can upload to the new server, without a problem.  I was going to enable XFRequest.DebugLevel, but if I cannot reproduce the problem, I cannot log anything.

Is there another setting that will cause FileUp to have problems when it is under load?  Do you know longer have per-incident support?  When I looked on the Web site, it does not look like you do.

Thanks,

David

  
  29 Oct 2012, 11:00 AM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Hi David,

Sorry to hear you are still having problems.  If the problem is happening on the server, XFRequest.DebugLevel won't be helpful because that is a setting for XFile. It only logs things that happen on the client.  

It will be difficult to troubleshoot this without reproducing it.  Do you have a staging server where you can do some load testing? 

When you reverted, was it just the dlls or are you using different code and registry settings?

Thanks,

Joy


  
  29 Oct 2012, 12:21 PM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir
If you do get a test environment set up with the new version and are able to reproduce the problem, you can try turning on FileUp's server-side debug log in the registry:

- Open the registry. Go to HKLM\Software\Software Artisans\SA-FileUp\Parameters.
- Add a DWORD with name DebugLevel and value 1
- Add a String with name DebugLogFile. Set the value to the path of the desired log file

As far as opening a support incident, its true we don't have individual incidents, but you can purchase an annual maintenance contract which includes 3 priority support incidents and free upgrades for one year. See: http://fileup.softartisans.com/purchase-fileup-pe-xfile

Best,
Joy

  
  01 Nov 2012, 2:40 PM
DPedrelli-DHRS is not online. Last active: 11/1/2012 2:40:02 PM DPedrelli-DHRS

Top 10 Posts
Joined on 09-21-2012
Posts 5
Re: FileUp Cache Dir
Joy,

I enabled server logging and someone uploaded files.  It does not have the production load of our existing server; therefore, it did not fail.  This server works fine, until we move it into production.  What should I seek in the log?  There is nothing that says error.

Thanks,

David

  
  11 Nov 2012, 9:23 AM
Joy_M is not online. Last active: 6/3/2014 2:57:00 PM Joy_M

Top 10 Posts
Joined on 12-15-2004
Posts 579

SoftArtisans Technical Services

Support team
Re: FileUp Cache Dir

Hi David,

It is difficult to troubleshoot problems that only happen in production.  If you can't keep the application running in production so we can help you troubleshoot it there, you will need to try to reproduce the problem in a test environment that is configured exactly the same as the production environment.  If the problem only happens with load, you may need to use some kind of load testing tool that can simulate multiple concurrent requests.   The only other thing you can do is look more closely at the configuration of the problemmatic production server that is currently not being used, but you won't be able to gather real-time information.

If you decide to purchase an Annual Maintenance contact we could provide more hands-on assistance.  Otherwise, please feel free to continue posting questions here.

Best regards,

Joy


  
 Page 1 of 1 (13 items)
SoftArtisans Forums » SoftArtisans Products » FileUp » FileUp Cache Dir