2010-06-10 60 views
0

我有一個將在IIS上運行的Web服務應用程序,但運行時遇到問題。我有以下情形:IIS的問題

  • 當通過複製在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 \默認應用

異常信息: 異常類型:ConfigurationErrorsException 異常消息:無法加載文件或程序集 'NHunspell' 或它的一個依賴關係。試圖加載格式不正確的程序。

索取信息: 請求URL:http://localhost/SSMT_Service/ProcessImage.asmx 請求路徑:/SSMT_Service/ProcessImage.asmx 用戶主機地址::: 1 用戶:
通過身份驗證:假 身份驗證類型:
線程帳戶名稱:IIS APPPOOL \默認應用

線程信息: 線程ID:5 線程帳戶名稱:IIS APPPOOL \默認應用 正在模擬:假 聖ACK跡:在System.Web.Configuration.CompilationSection.LoadAssemblyHelper(字符串的AssemblyName,布爾starDirective) 在System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() 在System.Web.Configuration.CompilationSection.LoadAssembly(集信息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,布爾ignoreErrors) 在System.Web.Compilation.BuildManager.CompileWebFile (VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) at System.Web.UI.WebServiceParser.GetCompiledType(String inputFile,HttpContext context) at System.Web.Services.Protocols.WebServiceHandlerFactory.GetHandler(HttpContext上下文,字符串動詞,字符串url,字符串filePath) at System.Web.Script.Services.ScriptHandlerFactory.GetHandler(HttpContext上下文,字符串requestType,字符串url,字符串pathTranslated) 在System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously)

自定義事件詳細:

+0

異常是指無法加載文件或程序集「NHunspell」。這是什麼,它與你的應用或服務有什麼關係? – 2010-06-10 18:41:34

+0

這是一個拼寫檢查DLL。在Windows應用程序中它可以工作,並且也可以作爲Win XP電腦上的Web應用程序。問題在於應用程序實際部署的Win 7 PC – mouthpiec 2010-06-10 18:44:54

+0

由於例外說明應用程序失敗,因爲它無法加載NHunspell,這表明NHunspell沒有正確部署。嘗試檢查IIS文件結構,並確保一切以您希望的方式部署。 – 2010-06-10 18:48:56

回答

0

誰知道 - 你需要堆棧跟蹤。啓動事件查看器並查看「應用程序」日誌。

0

試圖加載格式不正確的程序。 - 這對我來說通常意味着你在錯誤的位置下運行它。轉到該應用程序的應用程序池,打開其高級設置並翻轉bitness屬性[啓用32位應用程序]。

VS會嘗試以正確的位數啓動它的wp,但是當您在默認應用程序池下運行時,您會得到任何網站默認值,這可能對您的應用程序不正確。如果您無法訪問應用程序池設置,或者在您的應用程序dll上加載CORFLAGS強制位以便加載正確的dll,則還可以嘗試翻轉代碼以強制使用32位或64位。