C# 4.0 iis 7和x2B;http自定义处理程序错误:无法加载文件或程序集。系统找不到指定的文件
WindowsVista 32位-C#-.NET4-sqlite-IIS7 我正在构建一个小项目,其中包含一个自定义HTTP处理程序,用户可以在其中请求XML文件,项目将生成该文件并将其发送给用户。它应该足够灵活,可以发送其他内容,例如json 在我不得不部署处理程序之前,一切都进展顺利。我已经创建了一个库(dll)文件,其中包含为请求的信息提供服务的逻辑。我已经打开了IIS管理器,并为调试bin文件创建了一个虚拟目录(后来我将其作为一个应用程序。这没有什么区别) 我已经学习了无数的例子和教程,比如: 我从这个开始: msdn.microsoft.com/en-us/library/46c5ddfy.aspx 但是没有运气。正如您所读到的,我没有使用任何asp.net网站,即使我有一个web.config,我已经添加到bin文件夹中,它看起来是这样的:C# 4.0 iis 7和x2B;http自定义处理程序错误:无法加载文件或程序集。系统找不到指定的文件,c#-4.0,iis-7,httphandler,filenotfoundexception,C# 4.0,Iis 7,Httphandler,Filenotfoundexception,WindowsVista 32位-C#-.NET4-sqlite-IIS7 我正在构建一个小项目,其中包含一个自定义HTTP处理程序,用户可以在其中请求XML文件,项目将生成该文件并将其发送给用户。它应该足够灵活,可以发送其他内容,例如json 在我不得不部署处理程序之前,一切都进展顺利。我已经创建了一个库(dll)文件,其中包含为请求的信息提供服务的逻辑。我已经打开了IIS管理器,并为调试bin文件创建了一个虚拟目录(后来我将其作为一个应用程序。这没有什么区别) 我已经学习了无数的例子和教程,
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true" />
<directoryBrowse enabled="false" />
<handlers accessPolicy="Read, Script, Execute">
<add name="LigoManagedHandler" path="*" verb="*" type="Ligo.Service, Ligo" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
</configuration>
我已经在IIS管理器中尝试了很多可能的组合来让它工作(“httphandlers”、“classic mode”等等),但我真的被卡住了。我在网上找到的信息帮不了什么忙
我做错了什么或错过了什么才能让它正常工作?我明白了。我必须做一个asp.net网站项目,并添加我的dll作为该项目的参考 我读了这篇文章,它提供了互联网上不清楚的信息
它应该声明,如果没有aspnet网站项目,就不可能生成httphandler。还是我错了?互联网上的例子是不正确的!或者提供的信息太少。我知道了。我必须做一个asp.net网站项目,并添加我的dll作为该项目的参考 我读了这篇文章,它提供了互联网上不清楚的信息
它应该声明,如果没有aspnet网站项目,就不可能生成httphandler。还是我错了?互联网上的例子是不正确的!或者提供的信息太少。这番咆哮引发了一个想法,我无意中找到了答案 所有那些教程中说将
type=“ClassName,AssemblyName”
放入Web.Config中的Handlers部分的那一行显然是错误的
我所做的只是将其更改为type=“AssemblyName.ClassName”
,然后一切都开始工作,在我创建的网站项目和Web应用程序项目中
我在集成模式下运行IIS7.5,所以是YMMV
克雷格(Craig)这番咆哮引发了一个想法,我无意中找到了答案 所有那些教程中说将
type=“ClassName,AssemblyName”
放入Web.Config中的Handlers部分的那一行显然是错误的
我所做的只是将其更改为type=“AssemblyName.ClassName”
,然后一切都开始工作,在我创建的网站项目和Web应用程序项目中
我在集成模式下运行IIS7.5,所以是YMMV
克雷格我知道,这是一条旧线。然而,几天来我一直在寻找答案,却没有找到一个明确的答案。所以,万一有人遇到类似的情况 您可以将自定义Http处理程序创建为独立的类库项目,并在IIS中使用它 在IIS上添加具有ASP4集成模式的新应用程序。将编译好的DLL放入bin文件夹(这是我一直缺少的)。似乎很明显,它应该在那里;花了一些时间才弄明白这一点。:) web.config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<handlers>
<add verb="*" path="*.ogg" name="test" type="Namespace.Classname"/>
</handlers>
</system.webServer>
</configuration>
希望这有帮助。
干杯。我知道,这是一条旧线。然而,几天来我一直在寻找答案,却没有找到一个明确的答案。所以,万一有人遇到类似的情况 您可以将自定义Http处理程序创建为独立的类库项目,并在IIS中使用它 在IIS上添加具有ASP4集成模式的新应用程序。将编译好的DLL放入bin文件夹(这是我一直缺少的)。似乎很明显,它应该在那里;花了一些时间才弄明白这一点。:) web.config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
<handlers>
<add verb="*" path="*.ogg" name="test" type="Namespace.Classname"/>
</handlers>
</system.webServer>
</configuration>
希望这有帮助。
干杯。@Mihai代码格式是为了代码,而不是强调随机短语。哦,天哪,你说得太对了!如果没有你的帖子,它将永远无法正常工作…@Mihai代码格式化是为了代码,而不是强调随机的短语。哦,天哪,你说得太对了!如果没有你的帖子,它将永远无法工作。。。