C# ASP.Net网站项目的程序集名称
我已在ASP.Net应用程序中集成了调度程序作业 但它并没有自动工作,似乎在IIS回收应用程序池时停止了工作。但当我们向服务器发送请求时触发 阅读后,我试图在IIS 7.5服务器中配置相同的,以解决相同的问题C# ASP.Net网站项目的程序集名称,c#,asp.net,iis,.net-assembly,C#,Asp.net,Iis,.net Assembly,我已在ASP.Net应用程序中集成了调度程序作业 但它并没有自动工作,似乎在IIS回收应用程序池时停止了工作。但当我们向服务器发送请求时触发 阅读后,我试图在IIS 7.5服务器中配置相同的,以解决相同的问题 <serviceAutoStartProviders> <add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" /> </serviceAutoStartProviders>
<serviceAutoStartProviders>
<add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>
然而,PreWarmCache
类已在我的网站中定义,并保留了所有逻辑,因为它使用来自网站页面的模板
如何在类型中从网站定义此类?MyAssembly
的值是多少
如果我的项目是web应用程序,我可以使用程序集名称
我创建了一个网站。那么该值是什么,或者我应该如何配置该部分
注意:PreWarmCache位于App\u code
目录下强烈建议您不要在web应用程序中使用Quartz.NET。应用程序池可以并且确实可以重置。虽然他们可以安排在特定的时间进行回收,但他们仍然可以在任何时候进行回收。这会造成不可预测的行为,很难追踪
我强烈建议您创建一个Windows服务来处理Quartz.NET任务。它将更加可预测,更易于调试,并且与web应用程序分离。这将消除在运行服务时始终打开应用程序池的复杂性
如果您仍然希望在web应用程序中使用Quartz.NET,则可能会有所帮助 这与Quartz.Net无关,而是与IIS服务器在一段时间不活动后回收应用程序池有关
我也有同样的问题,但我所要做的就是缓存数据
因此,我需要在applicationHost.config文件中执行以下操作:
<serviceAutoStartProviders>
<add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>
然后调用一个函数,该函数填充XML文档并将其作为查找表存储在缓存中,以便在需要时使用
问题是如果我使用AssemblyQualifiedName属性,它会为我的类返回以下内容:
MyApp.PreWarmCache, App_Code.<#########>, Version=0.0.0.0, Culture=neutral, PublickKeyToken=null
MyApp.PreWarmCache,App_代码,版本=0.0.0.0,区域性=中立,PublickKeyToken=null
每次编译代码时,都会更改代码的位置
我不想将其分离到DLL中,因为这将导致必须复制代码
所以问题还是一样的
我/我们是否可以为动态编译的ASP.NET网站的App_代码类提供显式程序集名称
现在修复了它,将代码取出到一个单独的程序集中,编译后添加了引用,现在全部完成 PreWarmCache
type是否放在App_Data
目录下并在名称空间中?@KarelFrajtak,它放在App_代码目录下我的第一步是尝试使用“App_代码”作为程序集(前提是PreWarmCache在App_代码中),但这似乎更棘手,请看,我将尝试运行该应用程序,并在某个地方将PreWarmCache.GetType().FullName
转储到调试窗口或网页并使用该值。