2012-12-26 102 views
0

我今天被来自服务器监视器服务的惊人文本消息觉醒,我的一台服务器出现故障,并且已经过去7小时。CSharpCodeGenerator“找不到文件C: Windows Temp ... dll”

服务器运行IIS中托管的WCF Web服务。

我在IIS中检查并且我的应用程序池已停止。服务器上的事件日志中没有任何内容。

我的应用程序捕获所有错误并将它们写入文件系统。我看到有超过7300 FileNotFoundException报告。他们都看起来像这样:

System.IO.FileNotFoundException("Could not find file 'C:\Windows\TEMP\fmhq0eve.dll'.") 
mscorlib 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) 
at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames) 
at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources) 
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources) 
at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources) 
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) 
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies) 
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence) 
at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Type type) 
at System.ServiceModel.Dispatcher.UnwrappedTypesXmlSerializerManager.BuildSerializers() 
at System.ServiceModel.Dispatcher.UnwrappedTypesXmlSerializerManager.GetOperationSerializers(Object key) 
at System.ServiceModel.Dispatcher.SingleBodyParameterXmlSerializerMessageFormatter.EnsureSerializers() 
at System.ServiceModel.Dispatcher.SingleBodyParameterXmlSerializerMessageFormatter.GetOutputSerializer(Type type) 
at System.ServiceModel.Dispatcher.SingleBodyParameterMessageFormatter.CreateBodyWriter(Object body) 
at System.ServiceModel.Dispatcher.SingleBodyParameterMessageFormatter.SerializeReply(MessageVersion messageVersion, Object[] parameters, Object result) 
at System.ServiceModel.Dispatcher.CompositeDispatchFormatter.SerializeReply(MessageVersion messageVersion, Object[] parameters, Object result) 
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.SerializeOutputs(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) 

我看到在过去的报道StackOverflow上这个错误,并有多种原因,主要是做与串行高速缓存,但是在堆栈跟踪的代码完全被处理WCF。

服务器被完全孤立了一个多月。最后一次Windows Update重新启动是在发生这些异常之前的5天21日。我不能想到其他原因。

为什么这个问题开始发生,我们能做些什么呢?这是WCF中的错误吗?

+0

你见过这个问题重置IIS? http://blogs.msdn.com/b/andreal/archive/2009/04/18/could-not-find-file-c-windows-temp-dll.aspx –

回答

0

使网络服务compelete进入C:\ WINDOWS \ TEMP文件夹 使用IISRESET

这应该可以解决

相关问题