作为标题,我朋友的环境是Windows 2003 Server。他附加了IIS进程,并在应该运行的代码处设置了断点,但VS并没有停止。ISAPI用VC ++编写。
他需要设置什么设置吗?
谢谢。
我正在运行 Windows 7 64 位并尝试加载一个 ISAPI 扩展,我正忙于在本地 IIS7 机器上编写。
我仍然在 IIS7 中收到 404.0 错误
我已经检查过我的 MIME 映射是否设置为处理 *.dll 并且我有一个完美运行的ISAPI 扩展在同一台机器上的不同站点上运行。
我什至使用了这个 ISAPI 扩展,它给了我 404 并将它放在工作网站的根目录(另一个 DLL 所在的位置)并将“ISAPI 和 CGI 限制”重新映射到它。仍然给我 404.0,即使我可以同时或直接运行另一个 DLL,这很好。
知道WTF正在进行吗?!
我有CodeSite Express,与Delphi XE Enterprise捆绑在一起.现在我正在XE中开发一个ISAPI应用程序(我在XE中使用attach to process进行跟踪和调试 - 工作正常),我想从我的ISAPI应用程序中获取一些CodeSite消息.
在附带的CodeSite帮助中的高级技术中,我发现了这一点:
"从服务登录
服务应用程序在与桌面不同的窗口站中运行.但是,默认情况下,CodeSite Dispatcher在桌面窗口工作站中运行.因此,用于将CodeSite消息传输到Dispatcher的默认消息传输机制(wm_CopyData窗口消息)被Windows阻止.Microsoft Windows不允许窗口消息跨越窗口站边界.....因此,如果我们希望将CodeSite消息从服务应用程序发送到Dispatcher,我们需要使用TCP协议而不是CopyData连接到Dispatcher.
题:
我是否认为相同的规则适用于ISAPI应用程序?我必须使用TCP从ISAPI应用程序中获取CodeSite消息?
我已经为IIS 7.x配置了ISAPI DLL多年,但这是我第一次尝试使用Windows 10,但它无法正常工作,我找不到任何有关如何成功完成的说明.我在Windows 10 Professional中工作,并安装了IIS和支持技术.
这是我过去所做的.首先,我打开Internet Information Services Manager控制台.然后,我选择默认Web站点并打开Handler Mappings.我在"禁用"部分右键单击"ISAPI-dll",选择"编辑功能权限",然后在"执行"旁边选中复选标记.
由于我的ISAPI DLL是32位DLL,并且我运行的是Windows 10 64位专业版,因此我在"连接"窗格中选择"应用程序池",右键单击"DefaultAppPool",然后选择"高级设置",然后将"启用32位应用程序"设置为真正.
最后,我打开ISAPI和CGI限制小程序.然后,我右键单击ISAPI和CGI限制窗格并选择编辑功能设置,然后在"允许未指定的ISAPI模块"旁边放置复选标记.
Handler Mappings applet不再具有禁用的ISAPI-dll条目.但是,打开Handler Mappings小程序后,我可以选择编辑功能权限,并在Execute旁边放置一个复选标记.我已经能够在默认应用程序池中允许32位应用程序,但ISAPI和CGI限制小程序无处可寻.
最终的结果是,尽管我已经成功执行了如上所述的配置,但仍然无法运行我的ISAPI DLL.我已将DLL放在与Windows 7安装程序相同的位置(在c:\ inetpub\wwwroot\appfolder下),并使用相同的URL.它在Windows 7中运行,但在Windows 10中不运行.
如何在Windows 10中配置IIS以运行此ISAPI DLL?
我有一个delphi(Win32)Web应用程序,可以作为CGI应用程序,ISAPI或Apache DLL运行.我希望能够生成一个唯一的文件名前缀(在给定时刻对所有当前请求都是唯一的),并认为执行此操作的最佳方法是使用processID(处理CGI模式)以及threadID(处理dll模式).
如何在Delphi中获得唯一的进程ID和线程ID?
这些在多核/多处理器情况下(在单个Web服务器机器上)是否是唯一的?
编辑:请注意我被建议不要使用此方法,因此接受的答案使用不同的方法来生成临时文件名
已安装具有 IIS 角色的 ISAPI 和 CGI,但它们被禁用,如附图所示。角色和 IIS 窗口的屏幕 截图 这里让我有点头疼。
我可以为WebBroker网页/应用程序创建一个干净的URL吗?
典型的WebBroker URL通常如下所示:
hxxp://www.mywebsite.com/myapp.dll名=弗雷德
要么
hxxp://www.mywebsite.com/myapp.dll/names/fred
我更喜欢的是:
hxxp://www.mywebsite.com/names/fred
知道如何使用Delphi/WebBroker实现这一目标吗?(ISAPI/Apache)的
我想开发一个ISAPI过滤器,该过滤器将读取URL的标头,这将与ASP .NET应用程序通信。可以在C#中实现,还是我需要在C ++中进行开发,并创建一个CLI / C ++ DLL,以便ASP .NET应用程序可以与C ++ dll通信。
在浏览器中浏览我的.svc端点时,我收到此消息:处理程序"svc-ISAPI-4.0_32bit"有一个错误的模块"IsapiModule"(在64位Windows上,消息是:处理程序"svc-ISAPI-4.0_64bit"有一个坏模块"IsapiModule").
我在IIS中的任何地方都找不到IsapiModule.我怎样才能解决这个问题?
是否可以将 C++ 输出流绑定到另一个输出流?
我这么问是因为我已经用 C++ 编写了一个 ISAPI 扩展,并且我已经围绕 WriteClient 和 ServerSupportFunction/HSE_REQ_SEND_RESPONSE_HEADER_EX 函数编写了 ostreams - 一个用于 HTTP 标头的 ostream 和一个用于 HTTP 响应正文的 ostream。我想将流绑定在一起,以便在发送其余响应之前发送所有 HTTP 标头。
我必须创建一个面向公众的Web应用程序来执行动态页面,会话和服务文档.我主要关心的是可扩展性,性能(大约1000个用户/小时)和安全性.
我查看了ISAPI扩展(IIS)和本机服务器.在性能和可扩展性方面,ISAPI扩展优于本机服务器吗?
如果开发本机服务器,什么是好框架?像realthinclient这样的东西值钱吗?
使ISAPI DLL在IIS7中工作以查询www.website.com/test/bin/ISAPIGet.dll?a=b所需的最小步骤是什么?请不要参考热门谷歌搜索,它们非常通用,不起作用.我在Delphi2010中编写了非常简单的ISAPIGet.dll,它在IIS5 Win2000中运行良好.然后我把它放在IIS7 SBS2008上,放到C:\ inetpub\wwwroot\website\test\bin文件夹中.创建网站/网页,应用/测试,VirtualDirectory的/ bin中,在对的HandlerMappings/bin中添加脚本映射的*.dll我ISAPIGet.dll,让我在ISAPIandCgiRestrictions DLL,创建32位ApplicationPool不受管理的代码,经典模式,它结合到/测试应用程序.在查询www.website.com/test/bin/ISAPIGet.dll?a=b我遇到各种错误,如500,503(当AppPool失败时),而主页www.website.com正常工作.我还该怎么办?我需要配置web.config文件,在哪里以及如何?