IIS的问题

时间:2010-06-10 18:24:29

标签: web-services iis

我有一个将在IIS上运行的Web服务应用程序,但运行时遇到问题。我有以下情况:

  • 通过在inetpub / wwwroot文件夹中复制应用程序在Windows 7上的IIS上运行应用程序时,我收到错误“在执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取更多信息关于错误以及它在代码中的起源。“
  • 当在Visual Studio中按“运行”运行相同的应用程序时(这会分配一个临时端口),web服务通常会在浏览器中显示
  • 在Win XP PC中重复上述操作时,两种情况都可以正常工作。

你知道可能是什么问题吗?也许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)

自定义活动详情:

2 个答案:

答案 0 :(得分:0)

尝试加载格式不正确的程序。 - 这通常对我来说意味着你在错误的位数下运行它。转到此应用程序的应用程序池,打开其高级设置并翻转位数属性[启用32位应用程序]。

VS将尝试以正确的位数启动其wp,但是当您在默认应用程序池下运行时,您将获得您的站点默认值,这可能对您的应用程序而言是错误的。如果您无法访问应用程序池设置,或者在应用程序dll上使用CORFLAGS强制位,那么您也可以尝试将代码翻转为强制32位或64位,以便加载正确的dll。

答案 1 :(得分:-1)

谁知道 - 你需要堆栈跟踪。启动事件查看器并查看“应用程序”日志。