我的Chrome有问题.Web应用程序使用Iframe元素向安装在客户端计算机上的应用程序发送许多协议处理程序调用.
<iframe src="myprotocol://guid"></iframe>
Run Code Online (Sandbox Code Playgroud)
它适用于Ie和Firefox.在Chrome上,它仅适用于第一次通话.第二个呼叫要求用户在计算机上处于活动状态并使用Chrome.
有没有办法实现这个目标?也许使用Chrome插件?
我们为应用程序注册自定义协议处理程序。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp]
@="URL: TestApp Protocol"
"URL Protocol"=""
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open]
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open\command]
@="\"wscript\" \"C:\\Users\\user1\\AppData\\Local\\Programs\\TestService\\CustomTestProtocolHandler.vbs\" \"%1\""
Run Code Online (Sandbox Code Playgroud)
Chrome和Explorer均可启动此自定义协议处理程序。
但是从MS Edge无法正常工作。
我是否应该执行一些其他配置以在Edge中启用自定义协议?
还是自定义协议处理程序根本无法从MS Edge工作?
更新:
如果我使用“ EditFlags” = dword:00210000值,它对我有用:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp]
@="URL: TestApp Protocol"
"EditFlags"=dword:00210000
"URL Protocol"=""
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open]
[HKEY_CURRENT_USER\SOFTWARE\Classes\testapp\shell\open\command]
@="\"wscript\" \"C:\\Users\\user1\\AppData\\Local\\Programs\\TestService\\CustomTestProtocolHandler.vbs\" \"%1\""
Run Code Online (Sandbox Code Playgroud)
FTA_OpenIsSafe-0x00010000
FTA_SafeForElevation-0x00200000
https://msdn.microsoft.com/zh-cn/library/windows/desktop/bb762506(v=vs.85).aspx
我有 Tomcat 9.0.12 和 Java JDK/JRE 1.8.0_191。我正在尝试配置 SSL/TLS。我已经像这样更改了我的 server.xml 文件:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:\my_certificate.pfx"
keystorePass="my_password" keystoreType="PKCS12" />
Run Code Online (Sandbox Code Playgroud)
我的证书文件是 *.pfx 格式。我通过命令行使用 startup.bat 命令运行 tomcat 服务器。但是我收到了这样的错误(在我的 catalina.log 中):
...
05-Nov-2018 16:33:57.080 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
05-Nov-2018 16:33:57.190 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
05-Nov-2018 16:33:57.205 SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[org.apache.coyote.http11.Http11Protocol-443]]
org.apache.catalina.LifecycleException: Protocol handler instantiation failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:904)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533) …Run Code Online (Sandbox Code Playgroud) 是否可以确定.ashx处理程序中用于请求的HTTP协议版本(例如1.0对1.1)?我可以看到除Request.Params中的版本之外的所有头信息.
如果没有,在ASP.Net中处理HTTP请求时,有哪些途径可以发现HTTP协议版本?