草庐IT

javascript - Chrome 无法连接到 websocket 服务器(操作码 -1) "handshake was canceled"

coder 2024-05-10 原文

我有一个使用自签名证书的安全 websocket 服务器,我无法从 chrome (v44.0.2403.107) 客户端连接到该服务器。它是我的测试服务器,它是使用与我的应用服务器几乎相同的代码创建的 - 我可以连接到它。

我试过重新启动 chrome。我已经尝试重新启动我的 VM 和我所有的 putty 实例。我知道端口是正确的,因为我可以调试到我的服务器中使用该端口的点,我看到它是 8090。我可以在我的客户端中做同样的事情:8090。当我在我的回调中设置断点时应该接收 websocket 连接请求的服务器,它永远不会被击中。我的应用服务器中的断点确实被击中,所以我排除了调试问题。

连接失败时我在控制台中收到的错误是:与“wss://localhost:8090/”的 WebSocket 连接失败:WebSocket 打开握手已取消。我还在该连接的网络选项卡中只看到一个帧:(Opcode -1) Length: 40 17:06:08.360 然后我当然会收到一个不包含其他内容的 websocket 错误事件有用的信息。操作码 -1 是什么意思?

这是我从 VM 端的 tcpdump 获得的输出,验证我实际上正在从我的浏览器获取网络流量到我的 VM(我在创建 WebSocket 句柄之前设置了一个断点,并且仅当我按下 go 时所有这些事情都会发生吗):

[vagrant@localhost temp]$ sudo tcpdump -nnXSs 0 'port 8090'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:57:40.023027 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [S], seq 133632001, win 65535, options [mss 1460], length 0
        0x0000:  4500 002c bd91 0000 4006 a52a 0a00 0202  E..,....@..*....
        0x0010:  0a00 020f d39e 1f9a 07f7 1001 0000 0000  ................
        0x0020:  6002 ffff 74e5 0000 0204 05b4            `...t.......
14:57:40.023066 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [S.], seq 4249375587, ack 133632002, win 14600, options [mss 1460], length 0
        0x0000:  4500 002c 0000 4000 4006 22bc 0a00 020f  E..,..@.@.".....
        0x0010:  0a00 0202 1f9a d39e fd48 5363 07f7 1002  .........HSc....
        0x0020:  6012 3908 eb1f 0000 0204 05b4            `.9.........
14:57:40.023608 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249375588, win 65535, length 0
        0x0000:  4500 0028 bd92 0000 4006 a52d 0a00 0202  E..(....@..-....
        0x0010:  0a00 020f d39e 1f9a 07f7 1002 fd48 5364  .............HSd
        0x0020:  5010 ffff 3be5 0000                      P...;...
14:57:40.023636 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [P.], seq 133632002:133632175, ack 4249375588, win 65535, length 173
        0x0000:  4500 00d5 bd93 0000 4006 a47f 0a00 0202  E.......@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 1002 fd48 5364  .............HSd
        0x0020:  5018 ffff 76a5 0000 1603 0100 a801 0000  P...v...........
        0x0030:  a403 03b3 155b 57a9 66a3 71d9 859a 748d  .....[W.f.q...t.
        0x0040:  55d3 9f95 12c8 69cd bf8b 96f2 dde4 f936  U.....i........6
        0x0050:  32b5 5c00 0022 c02b c02f 009e cc14 cc13  2.\..".+./......
        0x0060:  cc15 c00a c014 0039 c009 c013 0033 009c  .......9.....3..
        0x0070:  0035 002f 000a 00ff 0100 0059 0000 000e  .5./.......Y....
        0x0080:  000c 0000 096c 6f63 616c 686f 7374 0017  .....localhost..
        0x0090:  0000 0023 0000 000d 0016 0014 0601 0603  ...#............
        0x00a0:  0501 0503 0401 0403 0301 0303 0201 0203  ................
        0x00b0:  0005 0005 0100 0000 0033 7400 0000 1200  .........3t.....
        0x00c0:  0075 5000 0000 0b00 0201 0000 0a00 0600  .uP.............
        0x00d0:  0400 1700 18                             .....
14:57:40.023646 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [.], ack 133632175, win 15544, length 0
        0x0000:  4500 0028 dcea 4000 4006 45d5 0a00 020f  E..(..@.@.E.....
        0x0010:  0a00 0202 1f9a d39e fd48 5364 07f7 10af  .........HSd....
        0x0020:  5010 3cb8 fe7f 0000                      P.<.....
14:57:40.025597 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [P.], seq 4249375588:4249376372, ack 133632175, win 15544, length 784
        0x0000:  4500 0338 dceb 4000 4006 42c4 0a00 020f  E..8..@.@.B.....
        0x0010:  0a00 0202 1f9a d39e fd48 5364 07f7 10af  .........HSd....
        0x0020:  5018 3cb8 1b3b 0000 1603 0300 4b02 0000  P.<..;......K...
        0x0030:  4703 03a3 0a5c dd01 39a5 c7e6 33de 6e10  G....\..9...3.n.
        0x0040:  1eb4 d7c3 1127 d7a0 7beb bac2 fbd0 5dc6  .....'..{.....].
        0x0050:  3c75 3200 009c 0000 1fff 0100 0100 0023  <u2............#
        0x0060:  0000 3374 0012 0868 7474 702f 312e 3108  ..3t...http/1.1.
        0x0070:  6874 7470 2f31 2e30 1603 0302 b20b 0002  http/1.0........
        0x0080:  ae00 02ab 0002 a830 8202 a430 8201 8c02  .......0...0....
        0x0090:  0900 d437 88ae 7bbe 1e4d 300d 0609 2a86  ...7..{..M0...*.
        0x00a0:  4886 f70d 0101 0505 0030 1431 1230 1006  H........0.1.0..
        0x00b0:  0355 0403 0c09 6c6f 6361 6c68 6f73 7430  .U....localhost0
        0x00c0:  1e17 0d31 3530 3131 3030 3932 3530 315a  ...150110092501Z
        0x00d0:  170d 3235 3031 3037 3039 3235 3031 5a30  ..250107092501Z0
        0x00e0:  1431 1230 1006 0355 0403 0c09 6c6f 6361  .1.0...U....loca
        0x00f0:  6c68 6f73 7430 8201 2230 0d06 092a 8648  lhost0.."0...*.H
        0x0100:  86f7 0d01 0101 0500 0382 010f 0030 8201  .............0..
        0x0110:  0a02 8201 0100 dd4e 94f0 608c 3bc9 d7a7  .......N..`.;...
        0x0120:  cc5b 0135 5630 4b45 5e01 c08f c543 66c1  .[.5V0KE^....Cf.
        0x0130:  d581 dba0 ce59 ccd4 5e63 f4a5 4dab 88cf  .....Y..^c..M...
        0x0140:  fafc ade0 bd7e 640f e690 21f0 2c7e de6a  .....~d...!.,~.j
        0x0150:  5342 990e 3f8e e227 b8e3 f133 b320 f1e1  SB..?..'...3....
        0x0160:  2b1d 7225 7103 ca7f e286 026c 1d2c 5b4f  +.r%q......l.,[O
        0x0170:  71ad 21c5 c10f b686 9c59 873c 89db fe7d  q.!......Y.<...}
        0x0180:  1a96 9c65 9fcd db51 87db f7c2 795b e338  ...e...Q....y[.8
        0x0190:  2bc5 2c93 c74d aa79 487d d3b8 5c4e 3919  +.,..M.yH}..\N9.
        0x01a0:  a5eb 1665 6778 050c cba8 a770 6324 8f07  ...egx.....pc$..
        0x01b0:  228c 6084 ac91 5d57 9569 b0a1 aaed 62a5  ".`...]W.i....b.
        0x01c0:  6f82 0afd 3d81 0f1b e4c0 55da 674e 8cde  o...=.....U.gN..
        0x01d0:  252b 3b35 2891 6d40 bc23 ac66 8e24 4dda  %+;5(.m@.#.f.$M.
        0x01e0:  fc59 5f1d 0c5f ad21 6c00 6ce5 6ed0 f6f8  .Y_.._.!l.l.n...
        0x01f0:  8752 a2b8 3758 a79c 4898 1cd4 3e51 8e33  .R..7X..H...>Q.3
        0x0200:  5d9b 5142 8ace d055 59da 4447 5cac d464  ].QB...UY.DG\..d
        0x0210:  dd9c 91fb 4499 0203 0100 0130 0d06 092a  ....D......0...*
        0x0220:  8648 86f7 0d01 0105 0500 0382 0101 0054  .H.............T
        0x0230:  e877 2716 fedc c2ac a79e fc8b 765e f38b  .w'.........v^..
        0x0240:  96b2 e52d 60bb 85ec 9ffc 13ba b4a3 2500  ...-`.........%.
        0x0250:  ac52 607b 3ea6 4ce1 693d 200e 7982 a586  .R`{>.L.i=..y...
        0x0260:  ed96 ab27 a129 009c d6bc f1f4 34bd 4b22  ...'.)......4.K"
        0x0270:  34ad 093c 9754 a465 2226 3c60 7f34 0f07  4..<.T.e"&<`.4..
        0x0280:  a069 e518 e9e8 3134 4a16 f9d6 0a60 6ed5  .i....14J....`n.
        0x0290:  2f41 3192 f40b ed47 c5a6 4e42 5ef0 22f8  /A1....G..NB^.".
        0x02a0:  b56b 6f59 5ecf 8eff 2da0 01e5 ab3c 8be0  .koY^...-....<..
        0x02b0:  ff5a d9fa 8468 f7ac 776b e387 09ec c965  .Z...h..wk.....e
        0x02c0:  ebee b6bd 5535 c5f0 ce47 1eef ddc4 f298  ....U5...G......
        0x02d0:  933c 9c9f 73dd e2c9 a5c2 d771 1bb9 6d83  .<..s......q..m.
        0x02e0:  8955 8104 46f1 d567 b28b 1694 25ea 4a54  .U..F..g....%.JT
        0x02f0:  df64 0524 7d8e 2c37 5314 b59f f268 ffdd  .d.$}.,7S....h..
        0x0300:  c946 444b 6f97 839f 8cfd 6b07 0018 ccbb  .FDKo.....k.....
        0x0310:  f4dc 3261 5367 e322 7f7d 2cb8 dd40 5788  ..2aSg.".},..@W.
        0x0320:  8532 2c45 2465 3daf e32d 49fa 9a98 3e16  .2,E$e=..-I...>.
        0x0330:  0303 0004 0e00 0000                      ........
14:57:40.026734 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376372, win 65535, length 0
        0x0000:  4500 0028 bd95 0000 4006 a52a 0a00 0202  E..(....@..*....
        0x0010:  0a00 020f d39e 1f9a 07f7 10af fd48 5674  .............HVt
        0x0020:  5010 ffff 3828 0000                      P...8(..
14:57:40.028177 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [P.], seq 133632175:133632558, ack 4249376372, win 65535, length 383
        0x0000:  4500 01a7 bd98 0000 4006 a3a8 0a00 0202  E.......@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 10af fd48 5674  .............HVt
        0x0020:  5018 ffff c6ac 0000 1603 0301 0610 0001  P...............
        0x0030:  0201 009e 4509 3c23 b3ed 5828 9582 0362  ....E.<#..X(...b
        0x0040:  bdd7 046a 0410 38af 711c 8fca 0cfd 36f4  ...j..8.q.....6.
        0x0050:  3da0 c5c7 165a fedb 7f22 4063 2682 989f  =....Z..."@c&...
        0x0060:  1c20 f2ff b768 ee7e a30b 95e5 31d7 fa32  .....h.~....1..2
        0x0070:  58da a10f afe1 4391 c503 d624 3fa8 10e4  X.....C....$?...
        0x0080:  5151 0c15 cfbd 22c7 e7ca df5f ec40 e310  QQ...."...._.@..
        0x0090:  988f f1dc 56ac 6ec2 1edf fe6c eccc 2e70  ....V.n....l...p
        0x00a0:  d9b9 1ed2 a2f3 16c7 9e5a d563 fcf5 678f  .........Z.c..g.
        0x00b0:  9a01 27f5 6bee 356e 7b4d dd71 871e 3f85  ..'.k.5n{M.q..?.
        0x00c0:  59d6 c928 7d10 07cb 5997 e56c ba12 6e1b  Y..(}...Y..l..n.
        0x00d0:  ae89 02d3 5af8 9480 d6d1 800b 3481 c011  ....Z.......4...
        0x00e0:  b36b f634 00a2 57f2 5d7e 8da7 3ac6 3bbf  .k.4..W.]~..:.;.
        0x00f0:  bc9f 12f9 9c88 8ee6 3dda 1f75 9a1d dd82  ........=..u....
        0x0100:  689b 1291 7d98 d951 f09f ef59 df21 f692  h...}..Q...Y.!..
        0x0110:  f708 e488 7228 bfb5 6d4b 75ac 7c1b e3bc  ....r(..mKu.|...
        0x0120:  efe9 54f0 f821 1f2c bb41 3d38 0e4c 5bd1  ..T..!.,.A=8.L[.
        0x0130:  8af7 9214 0303 0001 0116 0303 003c 0000  .............<..
        0x0140:  0000 0000 0000 7539 a08c 45e4 a57d 2f5c  ......u9..E..}/\
        0x0150:  b4e0 6e98 53f4 8359 528d a430 89f0 2587  ..n.S..YR..0..%.
        0x0160:  4490 9d71 b4f2 6cfb fdc3 40e8 501a cb31  D..q..l...@.P..1
        0x0170:  3cad caf9 926b bd81 55a3 1603 0300 2800  <....k..U.....(.
        0x0180:  0000 0000 0000 019e 8daf 7add 6932 9aeb  ..........z.i2..
        0x0190:  e2ab aa26 27bc a925 43cd bc50 7516 e69d  ...&'..%C..Pu...
        0x01a0:  ea9f 3521 ba4c 34                        ..5!.L4
14:57:40.037113 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [P.], seq 4249376372:4249376614, ack 133632558, win 16616, length 242
        0x0000:  4500 011a dcec 4000 4006 44e1 0a00 020f  E.....@.@.D.....
        0x0010:  0a00 0202 1f9a d39e fd48 5674 07f7 122e  .........HVt....
        0x0020:  5018 40e8 191d 0000 1603 0300 ba04 0000  P.@.............
        0x0030:  b600 0001 2c00 b03e 32e8 5f5d eead 8fd8  ....,..>2._]....
        0x0040:  7d30 19f4 9cee 907f a498 259f fd4c c87a  }0........%..L.z
        0x0050:  8e0b 8783 564b 7ce1 de37 b8ac 7bd3 3415  ....VK|..7..{.4.
        0x0060:  7f69 dece 4b60 a4eb ffcb 8781 1cfa 5930  .i..K`........Y0
        0x0070:  68e0 ab94 674a 5539 25b1 e8de 5a41 c93a  h...gJU9%...ZA.:
        0x0080:  6a3e c1e0 18b0 0e27 9207 6309 194c d7e0  j>.....'..c..L..
        0x0090:  a46b 191b 8a8e e1ec 40b6 2096 4458 f412  .k......@...DX..
        0x00a0:  52ad f44f 9f7c 6338 abea ba96 13e8 9c8c  R..O.|c8........
        0x00b0:  4a53 9c61 409e b121 de4d bafa bf88 f88e  JS.a@..!.M......
        0x00c0:  c7c2 0514 6905 0a5b 1f91 e155 bcae 0b82  ....i..[...U....
        0x00d0:  0d17 9ef7 2c05 a799 7408 51ac 957b f506  ....,...t.Q..{..
        0x00e0:  50d3 a841 0c9b 0314 0303 0001 0116 0303  P..A............
        0x00f0:  0028 e48b 22a4 e702 10f6 8f82 1c47 97fa  .(.."........G..
        0x0100:  990f 3697 3b44 9de5 9f5e 22f8 05a4 39b3  ..6.;D...^"...9.
        0x0110:  4762 e460 67c0 f142 9ddb                 Gb.`g..B..
14:57:40.037663 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376614, win 65535, length 0
        0x0000:  4500 0028 bd9d 0000 4006 a522 0a00 0202  E..(....@.."....
        0x0010:  0a00 020f d39e 1f9a 07f7 122e fd48 5766  .............HWf
        0x0020:  5010 ffff 35b7 0000                      P...5...
14:57:40.039110 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [F.], seq 133632558, ack 4249376614, win 65535, length 0
        0x0000:  4500 0028 bd9e 0000 4006 a521 0a00 0202  E..(....@..!....
        0x0010:  0a00 020f d39e 1f9a 07f7 122e fd48 5766  .............HWf
        0x0020:  5011 ffff 35b6 0000                      P...5...
14:57:40.039598 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [F.], seq 4249376614, ack 133632559, win 16616, length 0
        0x0000:  4500 0028 dced 4000 4006 45d2 0a00 020f  E..(..@.@.E.....
        0x0010:  0a00 0202 1f9a d39e fd48 5766 07f7 122f  .........HWf.../
        0x0020:  5011 40e8 f4cc 0000                      P.@.....
14:57:40.040616 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376615, win 65535, length 0
        0x0000:  4500 0028 bda0 0000 4006 a51f 0a00 0202  E..(....@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 122f fd48 5767  .........../.HWg
        0x0020:  5010 ffff 35b5 0000                      P...5...

关于如何进一步调试它的任何想法?

更新:切换回我知道以前有效的代码后,问题仍然存在。看来我可以排除我的代码的问题 - 这是我的机器、网络接口(interface)的问题吗?

更新 2:即使在我重新启动整个机器后它仍然发生。现在我有点生气,因为这实际上会阻止我工作。我真的认为这个问题可能会在重新启动后消失(至少一段时间)..

更新 3: 我创建了一个可以成功连接到 websocket 服务器的节点客户端。所以这似乎是一个 Chrome 问题。它肯定看起来与您在拒绝自签名证书时看到的相似 - 但我对我的测试服务器和应用程序服务器使用相同的证书。一个有效,另一个无效,所以它不可能是证书,对吧?

最佳答案

好吧,经过很长一段时间,我终于找到了一些有用的东西。这个问题对我来说仍然没有意义,但解决方案是以一种非常具体的方式将证书显式导入其接受列表:

  1. 打开带有证书的 https 页面
  2. 单击锁形图标并在 Connection 下选择 Certificate Information
  3. 转到详细信息选项卡> 复制到文件。选择 PKCS #7, single certificate 作为文件格式并将其保存在某个地方(名称无关紧要)。
  4. 打开 Chrome 设置 > 显示高级设置 > HTTPS/SSL > 管理证书
  5. 转到受信任的证书根颁发机构标签
  6. 导入您在第 3 步中“复制到文件”的证书
  7. 重启 Chrome(您需要重启的少数情况之一)

感谢这里的回答: Getting Chrome to accept self-signed localhost certificate

关于javascript - Chrome 无法连接到 websocket 服务器(操作码 -1) "handshake was canceled",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664366/

有关javascript - Chrome 无法连接到 websocket 服务器(操作码 -1) "handshake was canceled"的更多相关文章

  1. c# - MSDeploy - 允许参数在 parameters.xml 中是可选的/为空的 - 2

    我正在使用msdeploy部署asp.net-mvcWeb应用程序通过teamcity.我正在使用paramaters.xml文件来操纵我的应用程序的web.config,具体应用settings部分。我有一些设置,其中只有对特定环境具有值才有效,其余时间该值应为空白(即,Property应仅在Production上具有值)。但是,当我不指定一个值时,MSDeploy给了我这个异常:Microsoft.Web.Deployment.DeploymentException:The'facebookUserToken'argumentcannotbenullorempty.

  2. c# - LINQ 按字母顺序排列,后跟空字符串 - 2

    我有一个字符串集合:"","c","a","b".我想使用LINQsorderby以便顺序按字母顺序排列,但最后是空字符串。所以在上面的例子中,顺序是:"a","b","c","" 最佳答案 你可以使用类似的东西:varresult=new[]{"a","c","","b","d",}.OrderBy(string.IsNull

  3. c# - 在 asp.net gridview 中禁用文本换行 - 2

    输出是这样的:MyNameIsJohnSmithAndImaperson我想要的是只显示一行MyNameIsJohnSmithAndImaperson我的Aspxgridview代码是:<asp:GridViewID="GridView1"runat="server"BackColor="LightGoldenrodYellow"BorderColor="Tan"BorderWidth="1px"CellPadding="5"Font-Names="Calibri"Fo

  4. c# - XML字符串反序列化为c#对象 - 2

    我收到这样的xml文件。<radio><channelid="Opus"><display-name>Opus</display-name><iconsrc=""/></channel><channelid="Klasika"><display-name>Klasika</display-name><iconsrc=""/></channel><channelid="LR"

  5. c# - x :Type not found in user control library - 2

    我正在尝试在WPF用户控件库项目中创建一个ResourceDictionary。当我添加以下样式时:<StyleTargetType="{x:TypeButton}"><SetterProperty="Background"Value="{StaticResourceResourceKey=GreyBrush}"/><SetterProperty="BorderBrush"Value="{StaticResourceResourceKey=LightBlueBrush}"/&g

  6. c# - Linq:Take的 "opposite"? - 2

    使用Linq;如何做Take的“反面”?即而不是获取前n个元素,例如inaCollection.Take(n)我想获取除最后n个元素以外的所有元素。有点像aCollection.Leave(n)(不要问为什么:-)编辑我想我可以这样做aCollection.TakeWhile((x,index)=>index<aCollection.Count-n)或者以扩展的形式publicstaticIEnumerable<TSource>Leave<TSource>(thisIEnumerable<TSource>source,intn){retu

  7. c# - : "exception was thrown by the target of invocation" C#如何解决 - 2

    C#每次我运行我的程序时,我都会得到这个异常:但是当我在Debug模式下运行时,没有异常,程序运行正常,我该怎么办?注意:我没有在项目的任何地方使用invoke()编辑:好的,这是在详细信息中找到的代码:如果有人知道如何使用protoBuff,并且知道这个问题....**************ExceptionText**************System.Reflection.TargetInvocationException:Exceptionhasbeenthrownbythetargetofaninvocation.--->ProtoBuf.ProtoExceptio

  8. c# - ASP.NET Core MVC 混合路由/FromBody 模型绑定(bind)和验证 - 2

    我正在使用ASP.NETCore1.1MVC构建JSONAPI。给定以下模型和操作方法:publicclassTestModel{publicintId{get;set;}[Range(100,999)]publicintRootId{get;set;}[Required,MaxLength(200)]publicstringName{get;set;}publicstringDescription{get;set;}}[HttpPost("/test/{rootId}/echo/{id}")]publicIActionResultTestEcho([FromBody]

  9. c# - C#中替换字符串中的特殊字符 - 2

    我的要求是:Ihavetoreplacesomespecialcharacterslike*'",_&#^@withstring.Empty,andIhavetoreplaceblankspaceswith-.这是我的代码:Charseparated=Charseparated.Replace("*","").Replace("'","").Replace("&","").Replace("@","")...对于这么多要

  10. c# - 无法找到请求的 .Net Framework 数据提供程序。它可能没有安装 - 2

    大家好,这是我第一次在远程服务器上发布使用EntityFramework开发的项目。这些页面工作正常,但是当我尝试访问我的保留区域时,读取数据库时,我收到此错误Unabletofindtherequested.NetFrameworkDataProvider.Itmaynotbeinstalled.描述:在执行当前网络请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。异常详细信息:System.ArgumentException:无法找到请求的.NetFramework数据提供程序。它可能未安装。来源错误:在执行当前Web请求期间生成了未处理的异常。可

随机推荐

  1. c# - 字符串构造器 - 2

    我们可以说,stringmyString="Hello";它“神奇地”构造了一个包含该值的新字符串对象。为什么不能将类似的“无构造”方法用于从我们在代码中定义的类创建的对象?VS对string的“魔力”是什么?而对于enum呢?我从未见过有关其工作原理的解释。 最佳答案 基本上,它是C#语言规范的一部分:有字符串文字、数字文字、字rune字和bool文字的语法,但仅此而已。编译器使用这些文字来生成IL,对于大多数,“特定类型的常量”都有合适的指令,因此直接表示。decimal是一个异常(exception),它不是C

  2. c# - 长整数可以在 32 位系统上工作吗? - 2

    如果我理解正确的话,一个int变量正在保存32位,将它限制在-20亿到20亿之间。但是,如果我使用长变量,它将保存为64位,从而可以存储更多数字。我使用的是64位系统,但如果我以64位存储数据,我的代码能否在32位系统上正常运行?谢谢! 最佳答案 你不用担心这个。long值将存储在2个内存地址中。Int64/long将始终为64位,而Int32/int将始终为32位。有一些影响(关于内存空间和性能),但最值得注意的可能是写/读操作在32位系统上不是原子的,但你不应该期望它们无论如何都是原子的,因为c#规范不提供此类保证。无论哪种方式

  3. c# - 使用 Moq 模拟 Delegate.Invoke() 在 LINQ 中抛出 InvalidCast 异常 - 2

    假设我有IService界面:publicinterfaceIService{stringName{get;set;}}还有一个委托(delegate)Func<IService>返回此接口(interface)。在我的单元测试中,我想模拟委托(delegate)的Invoke()像这样使用Moq的方法:[TestMethod]publicvoidUnitTest(){varmockService=newMock<IService>();varmockDelegate=newMock<Func<IService>>();mockDeleg

  4. c# - 无法找到请求的 .Net Framework 数据提供程序。它可能没有安装 - 2

    大家好,这是我第一次在远程服务器上发布使用EntityFramework开发的项目。这些页面工作正常,但是当我尝试访问我的保留区域时,读取数据库时,我收到此错误Unabletofindtherequested.NetFrameworkDataProvider.Itmaynotbeinstalled.描述:在执行当前网络请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。异常详细信息:System.ArgumentException:无法找到请求的.NetFramework数据提供程序。它可能未安装。来源错误:在执行当前Web请求期间生成了未处理的异常。可

  5. c# - 将 Datagrid.SelectedItems 集合转换到 List<T> - 2

    我有这样的课publicclassFoo{publicstringprop1{get;set;}publicstringprop2{get;set;}}还有一个带有List<Foo>的View模型,此列表用作Bind一个DataGrid,然后在代码隐藏中我需要获取Datagrid.SelectedItems收集并将其转换为List<Foo>我尝试过的事情:List<Foo>SelectedItemsList=(List<Foo>)DataGrid.SelectedItems;//ORobjectp=DataGrid.SelectedIte

  6. c# - 如何使用 LINQ 从 DataTable 中删除行? - 2

    我有以下代码从DataTable中删除行:varrows=dTable.Select("col1='ali'");foreach(varrowinrows)row.Delete();上面的代码工作正常。如何将此代码转换为LINQ? 最佳答案 LINQ不用于删除或修改-它用于查询数据。使用LINQ,您可以选择应删除的数据,然后手动删除这些数据(例如,在foreach循环中或使用ForEach列表扩展):varquery=dTable.AsEnumerable().Where(r=>r.Field&

  7. C# SQLite-net 定义多列唯一 - 2

    我看到了对SQLite-net中支持多列唯一约束的更改的引用。我知道它可以直接用sqlite完成,但是我更喜欢使用sqlite-net方法来做事。什么是做多列唯一的语法。Single是希望唯一的列上方的[Unique]。 最佳答案 我通过查看项目中包含的实际单元测试找到了答案。它基于在索引属性上使用命名参数。例如:[Indexed(Name="ListingID",Order=2,Unique=true)]publicstringListingNumber{get;set;}[Indexed(Name="Li

  8. c# - List.Insert 有任何性能损失吗? - 2

    给定一个列表:List<object>SomeList=newList<object>();正在做:SomeList.Insert(i,val);对比SomeList.Add(val);有任何性能损失吗?如果是,如何取决于:-i-插入索引-SomeList.Count-列表的大小 最佳答案 TheListclassisthegenericequivalentoftheArrayListclass.ItimplementstheIListgenericinterfaceusinganarraywhosesize

  9. c# - 提高使用 .NET 枚举文件和文件夹的性能 - 2

    我有一个包含数千个文件夹的基本目录。在这些文件夹中,可以有1到20个子文件夹,其中包含1到10个文件。我想删除所有超过60天的文件。我使用下面的代码来获取我必须删除的文件列表:DirectoryInfodirInfo=newDirectoryInfo(myBaseDirectory);FileInfo[]oldFiles=dirInfo.GetFiles("*.*",SearchOption.AllDirectories).Where(t=>t.CreationTime<DateTime.Now.AddDays(-60)).ToArray();但是我让它运行

  10. c# - 智能字符串比较 - 2

    我正在寻找一个允许对两个字符串进行智能比较的库/类。充其量它会给出两个字符串相似程度的百分比。我正在比较记录在不同存储库中的公司名称、地址,因此名称中有很多拼写错误或不一致。要比较的示例字符串:"GoodCompanyLtd."vs."GoodCompany""BakerStreet2"vs."BakerStr.2"如果我得到相似百分比的结果,那么这可以作为此类数据智能合并的输入。你知道有什么好的库可以进行这种智能字符串比较吗? 最佳答案 Levenshtein在这种情