2

これらのいずれかを追加すると...

<%@ OutputCache Duration="600" Location="Any" VaryByParam="*" %>

また

<%@ OutputCache CacheProfile="CmsArticlesListOrItem" %>

(.. and this into the web.config file...)
<caching>
    <outputCacheSettings>
        <outputCacheProfiles>
            <add name="CmsArticlesListOrItem" duration="600" varyByParam="*" />
         </outputCacheProfiles>
    </outputCacheSettings>

    <sqlCacheDependency ........ ></sqlCacheDependency
</caching>

私のページ/サイトは次のエラーでクラッシュします:-

Source: System.Web
----------------------------------------------------------------------------
TargetSite: System.Web.DirectoryMonitor FindDirectoryMonitor(System.String, Boolean, Boolean)
----------------------------------------------------------------------------
Message:System.Web.HttpException: Directory 'C:\Web Sites\My Site Foo - Main Site\Controls\InfoAdvice' does not exist. Failed to start monitoring file changes.
   at System.Web.FileChangesMonitor.FindDirectoryMonitor(String dir, Boolean addIfNotFound, Boolean throwOnError)
   at System.Web.FileChangesMonitor.StartMonitoringPath(String alias, FileChangeEventHandler callback, FileAttributesData& fad)
   at System.Web.Caching.CacheDependency.Init(Boolean isPublic, String[] filenamesArg, String[] cachekeysArg, CacheDependency dependency, DateTime utcStart)
   at System.Web.Caching.CacheDependency..ctor(Int32 dummy, String[] filenames, DateTime utcStart)
   at System.Web.Hosting.MapPathBasedVirtualPathProvider.GetCacheDependency(String virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart)
   at System.Web.ResponseDependencyList.CreateCacheDependency(CacheDependencyType dependencyType, CacheDependency dependency)
   at System.Web.HttpResponse.CreateCacheDependencyForResponse(CacheDependency dependencyVary)
   at System.Web.Caching.OutputCacheModule.InsertResponse(HttpResponse response, HttpContext context, String keyRawResponse, HttpCachePolicySettings settings, CachedVary cachedVary, CachedRawResponse memoryRawResponse)
   at System.Web.Caching.OutputCacheModule.OnLeave(Object source, EventArgs eventArgs)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

わかりました..何らかの理由で、OutputCacheフォルダ/ファイルがそこにあることを望んでいますか? ? ? ?

さて、私はこのサイトを約 3 年間運営してきましたが、私の運用サーバーにはフォルダー\Controlsとフォルダー\Controls\InfoAdviceが存在しないと確信しています。私のローカルホストでは、確かにそうであり、ascx コントロールの大きなリストが含まれています。

しかし、それらは私のライブサーバーには存在しません。

それで...ここで何が起こっているのですか?

誰でも助けてもらえますか?

ああ:)誰かが私がそれらの2つのフォルダーを作成し、それらのフォルダーにランダムなファイルを貼り付けさえすることを提案する前に..そしてそれらのランダムなファイルにいくつかのランダムなテキストを入れます..私はそれをしましたが、まだ動作していないようです:(

助けてください !

アップデート

IIS で FAILED REQUEST TRACE を実行しようとしたときに、これに気付きました....

代替テキスト http://img136.imageshack.us/img136/1351/notsure.png

4

1 に答える 1

0

うーん。これが受け入れられる答えかどうかはわかりませんが、私はこれを理解しました。

  1. プロジェクトは ASP.NET Web サイトです( Web アプリケーションMVC1/2タイプではありません)。
  2. aspx ページに存在するコントロール用のフォルダーを作成する必要がありました。(例: \controls\infoadvice
  3. ページ \masterpages で使用されるマスター ページ用のフォルダーを作成する必要がありました。

次に、これらの新しいフォルダーの両方に単純なtxtファイルを追加しました..それらにいくつかのダミーコンテンツを追加しました。これにより、プロジェクトが展開用に「ビルド」されたときに、これらのフォルダー (およびダミー ファイル) を公開できるようになりました (私は Web 展開プロジェクト + TFS ビルドを使用しています)。

今では動作します。

したがって、問題は、キャッシングがフォルダーのチェックを必要とすることでした。アカウント(NetworkSystem)は、フォルダーが存在しない場合、フォルダーの作成を許可していないと推測しています..ルートフォルダー(および子供と仮定)に手動でアクセス許可を与えたにもかかわらず。

ああ、問題は解決しました。私はそれが好きではありません..しかし、それは解決しました。

于 2010-03-31T02:12:27.020 に答える