- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 Delphi XE SPI 构建的 Delphi ISAPI DLL(32 位),并托管在运行 WinServer 2008 RS2 和 IIS 7.5 的服务器上。
见 MSDN:
Initialization Using GetExtensionVersion:
Initialization is handled by the entry-point function GetExtensionVersion. This function's role is to perform all initialization, including the creation of worker threads, synchronization objects, and database connections, and to establish the version of ISAPI that was used to build the DLL.
GetExtensionVersion
根据上述 MSDN 引用执行初始化。
GetExtensionVersion
非常适合初始化需要在 Web 应用程序的生命周期内持续存在的资源,而不是基于每个客户端请求进行初始化,因为当第一个请求映射到您的 ISAPI DLL 时,IIS 只调用一次。如果有兴趣,请参阅
How can I make ADO database connections in TISAPIApplication
before processing incoming requests?更多细节。
GetExtensionVersion
的上下文中公开网站 URL 的 Delphi 函数或属性。 ,它在应用程序开始处理实际客户端请求之前运行 - 发生在
HttpExtensionProc
(德尔福的
TWebApplication
与使用
TWebActionItem
Hook )。
GetExtensionVersion
仅当客户端请求发布到该网站时才由 IIS 调用,我相信该网站的 URL 应该在某处可用 - 也许通过 IIS API 调用。
GetExtensionVersion
中获取我网站的 URL ?
最佳答案
您需要扩展控制 block 来获取 URL。它被传递给 HttpExtensionProc
, 但不是 GetExtensionVersion
. IIS 在调用 GetExtensionVersion
时可能还没有将 DLL 映射到任何网站。 .此外,IIS 可能对多个网站使用相同的 DLL,并且仍然调用 GetExtensionVersion
。一次。
具体到您的问题,我看到两个选项:您可以访问 IIS Admin API ( perhaps with this ) 以找出您的 DLL 用于哪个网站,但这可能是您唯一需要 IIS Admin API 的,并且在安全方面需要太多您不想在其下运行应用程序的访问权限。
另一种选择(我自己在 xxm 中使用)是调用 GetModuleFileName
在 HInstance
在 DLL 中可用的全局变量,并读取 DLL 所在目录中的配置文件。(默默地假设 DLL 本身的目录不能通过 IIS 上的 URL 访问......)
关于delphi - 如何从 IIS ISAPI 的 GetExtensionVersion 中获取我网站的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28351821/
假设我拥有域 mydomain.com,并且我在服务器上有一个 Web 应用程序,网址为 http://99.99.99.99:1234/MyApplication/startpage.somethi
我正在尝试通过以下方式更新已解析的 URL: u, _ := url.Parse(s) if u.Scheme == "" { u.Scheme = "https" } if u.Path =
如何将 www.somesite.com/api(.*) 映射到 www.somesite.com/$1:9000? (我需要将/api 映射到运行 @ 端口 9000 的 Play 框架应用程序)
我有一个资源结构,如航类 > 座位 > 预订,所以预订属于某个航类的某个座位: http://example.com/jdf_3prGPS4/1/jMBDy46PbNc
我想知道以下网址是否有效。 路径中的点,在主机之后: http://www.example.com/v.b.w..com 主机中的点,作为子域的一部分: http://v.b.w..co.manufa
我有两个域 - crmpicco.co.uk 和 ayrshireminis.com - 如果我浏览到: www.crmpicco.co.uk/mini/new我希望能够重定向到 www.ayrshi
我正在尝试使用 URL 重写和应用程序请求路由来重写到外部 URL。我设置了以下规则: 在规则中,“patternToMatch”是我试
我已经安装了带有 SharePoint 和 Url Rewrite 模块的 IIS 7.0。 是以下句子还是我配置错误才能看到这个结果? Url Redirect 可以将 url 重定向到任何内部(在
我想知道,为了获得良好的 SEO,您必须在 URL 中使用自然语言。您知道字符中单词或短语的最大大小吗?例如: www.me.com/this-is-a-really-long-url.htm 我问这
有人知道在 SEO 友好 URL 中使用逗号有什么问题吗?我正在使用一些在其 SEO 友好 URL 中使用大量逗号的软件;但我 100% 肯定我见过一些程序/平台无法正确识别 URL 并在第一个逗号后
我有一个网站,我正在为所有链接使用干净的 URL。我想知道对于简短的基本 URL 与较长的描述性 URL 有何看法。 例如,如果我的网站是关于 Georgia Bulldog 足球新闻的,那么哪个网站
我正在编写一个类似于 tinyurl 的 URL 缩短器,我想知道如何跟踪已经使用我的服务缩短的 URL?例如,tinyurl 为相同的长 URL 生成相同的小 URL,而不管是谁创建的。如
我是 magento 的新手。我正在开发一个模块。为此,我有一些要显示链接的 css 和 js 文件。我目前有类似 的链接 getSkinUrl('module_tryouts/css/jquery.
我想基于 HTTP_URL 重写 URL 以重定向到不同的端口,同时保留其余的 URL 和查询字符串(如果指定)。例如, http://host/john/page.aspx 应该重定向到 http:
我遇到了以下问题: 我的 Grails (2.2.0) 应用程序具有以下 URL 映射: "/api/clientQuote/$labcode/$cliCode/$quoCode"(controlle
我有一个很长的 URL,它不适合 URL 字段。它一直在修剪。该怎么办?有没有办法增加 SharePoint 2010 中的 URL 字段字符限制? 或者解决方法来容纳长 URL。例如,以下 URL
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
我们从客户以前的开发人员那里继承了相当多的 Google Apps 脚本项目。 Apps 脚本通过嵌入式小部件部署在 Google 网站 (sites.google.com) 的各个页面上。每当我们需
我正在编写一些文档,但遇到了一些词汇问题: http://www.example.com/en/public/img/logo.gif 被称为“绝对”网址,对吗? ../../public/img/l
我们从客户以前的开发人员那里继承了相当多的 Google Apps 脚本项目。 Apps 脚本通过嵌入式小部件部署在 Google 网站 (sites.google.com) 的各个页面上。每当我们需
我是一名优秀的程序员,十分优秀!