简体   繁体   English

dll在IIS中的asp.net中不起作用

[英]the dll does not work in asp.net in IIS

I have an Asp.net application which require a third-part .dll from other department(In fact,it is one of the WebSerivce which need the .dll file). 我有一个Asp.net应用程序,需要其他部门的第三方.dll(实际上,它是WebSerivce之一,需要.dll文件)。

I put the .dll file into the myapp/bin. 我将.dll文件放入myapp / bin中。

Then if I debug this application,it works,there is no error occur. 然后,如果我调试此应用程序,则可以正常工作,不会发生任何错误。

But once I run the application in normal model( I mean create a virtual dir pointing to my application path in the IIS),I always get the " Service Unavailable " page. 但是,一旦我以正常模型运行应用程序(我的意思是在IIS中创建一个指向我的应用程序路径的虚拟目录),我总会得到“ 服务不可用 ”页面。 And what's more,the app pool " DefaultAppPool " will be stoped. 而且,应用程序池“ DefaultAppPool ”将被停止。

I wonder why? 我想知道为什么?

UPDATE: error id: 更新:错误ID:

Message 1 讯息1

Source: W3SVC Event ID: 1011 A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. 来源:W3SVC事件ID:1011为应用程序池“ DefaultAppPool”提供服务的进程发生了与World Wide Web Publishing服务的致命通信错误。 The process id was '5684'. 进程ID为“ 5684”。 The data field contains the error number. 数据字段包含错误号。 Error number: 8007006d 错误号:8007006d

Message 2 讯息2

Source: W3SVC Event ID: 1002 Application pool 'DefaultAppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool. 源:W3SVC事件ID:1002由于为该应用程序池提供服务的进程中发生了一系列故障,因此将自动禁用应用程序池“ DefaultAppPool”。

http://support.microsoft.com/kb/885654/en-us http://support.microsoft.com/kb/885654/en-us

If your dll is unmanaged it needs to be explicitly registered to work within IIS7. 如果您的dll是不受管的,则需要对其进行显式注册才能在IIS7中工作。 Otherwise the appPool will just shut down. 否则,appPool将会关闭。

Register and Enable a Native Module on a Web server (IIS 7) 在Web服务器(IIS 7)上注册并启用本机模块

You might have to register a native module if an application on your Web server requires the behavior supported by the module. 如果Web服务器上的应用程序需要该模块支持的行为,则可能必须注册一个本机模块。 After you register a native module, that module will be loaded and available in every application pool on the server, but you must also enable it by adding it to the list on the Modules feature page. 注册本机模块后,该模块将被加载并在服务器上的每个应用程序池中可用,但是您还必须通过将其添加到“模块功能”页面上的列表中来启用它。 For example, you might have a custom authentication module that an application requires. 例如,您可能具有应用程序所需的定制身份验证模块。 You must register the .dll file, and then enable the native module to run. 您必须注册.dll文件,然后启用本机模块运行。 You can then enable the module at any level at which the module is needed, such as at a site or an application level. 然后,您可以在需要该模块的任何级别(例如站点或应用程序级别)启用该模块。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM