我有一个将在IIS上运行的Web服务应用程序,但运行时遇到问题。我有以下情况:
你知道可能是什么问题吗?也许IIS 7中的一些设置? 感谢
更新 - 事件查看器日志
活动代码:3008 事件消息:发生了配置错误。 活动时间:10/06/2010 20:33:10 活动时间(UTC):10/06/2010 18:33:10 事件ID:7b4166753a6d4d41bd9b8709d24332f4 事件顺序:4 事件发生:1 活动详细代码:0
申请信息: 应用领域:/ LM / W3SVC / 1 / ROOT / SSMT_Service-4-129206683902187500 信任等级:完整 应用程序虚拟路径:/ SSMT_Service 应用程序路径:C:\ inetpub \ wwwroot \ SSMT_Service \ 机器名称:SANDRO-PC
流程信息: 进程ID:5024 进程名称:w3wp.exe 帐户名称:IIS APPPOOL \ DefaultAppPool
异常信息: 异常类型:ConfigurationErrorsException 异常消息:无法加载文件或程序集“NHunspell”或其依赖项之一。尝试加载格式不正确的程序。
请求信息:
请求网址:http://localhost/SSMT_Service/ProcessImage.asmx
请求路径:/SSMT_Service/ProcessImage.asmx
用户主机地址::: 1
用户:
经过身份验证:错误
验证类型:
线程帐户名称:IIS APPPOOL \ DefaultAppPool
主题信息: 线程ID:5 线程帐户名称:IIS APPPOOL \ DefaultAppPool 冒充:假 堆栈跟踪:在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective) 在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() 在System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) 在System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() 在System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) 在System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) 在System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir,Boolean ignoreErrors) 在System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) 在System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) 在System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) 在System.Web.UI.WebServiceParser.GetCompiledType(String inputFile,HttpContext context) 在System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext context,String verb,String url,String filePath) 在System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext context,String requestType,String url,String pathTranslated) 在System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
自定义活动详情:
答案 0 :(得分:0)
尝试加载格式不正确的程序。 - 这通常对我来说意味着你在错误的位数下运行它。转到此应用程序的应用程序池,打开其高级设置并翻转位数属性[启用32位应用程序]。
VS将尝试以正确的位数启动其wp,但是当您在默认应用程序池下运行时,您将获得您的站点默认值,这可能对您的应用程序而言是错误的。如果您无法访问应用程序池设置,或者在应用程序dll上使用CORFLAGS强制位,那么您也可以尝试将代码翻转为强制32位或64位,以便加载正确的dll。
答案 1 :(得分:-1)
谁知道 - 你需要堆栈跟踪。启动事件查看器并查看“应用程序”日志。