- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Windows Store 应用程序,它是一个 WinRT 手机/桌面应用程序(即不是 UWP 应用程序),针对 Windows 8.1 及更高版本。
它已经在商店中存在好几年了,但最近它停止能够使用 HTTPS 连接各种 Web API 和网站(YouTube,以及我自己的网站)。
我也有这个应用程序的 WPF 版本,最近在那个应用程序上也发生了这种情况,为了修复它,我使用了 System.Net.ServicePointManager
.不幸的是,在我的 WinRT 环境中,System.Net
不包括 ServicePointManager
.在我的 WPF 应用程序中,我这样做了,而且效果很好:
ServicePointManager.ServerCertificateValidationCallback = delegate
{
Debug.WriteLine("returning true (the ssl is valid)");
return true;
};
// our server is using TLS 1.2
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
在互联网上做一些研究时,似乎.NET 4.6 应该包括
ServicePointManager
,但我没有看到任何方法可以在 WinRT 开发环境中更改(甚至查看)我的 .NET 版本。
StreamSocket
可用于连接 TLS1.2 ……但这似乎主要是为了启用蓝牙通信或与 Web 端点的通信,但只能通过主机名……这对我来说还不够。我需要连接到一个实际的网站,而不仅仅是基础域。
StreamSocket socket = new StreamSocket();
string serverServiceName = "https";
socket.Control.KeepAlive = false;
url = "inadaydevelopment.com";
HostName serverHost = new HostName(url);
await socket.ConnectAsync(serverHost, serverServiceName, SocketProtectionLevel.Tls12);
text = await ReadDataFromSocket(socket);
我可以包含
ReadDataFromSocket()
的代码如果有必要,但它似乎可以工作,当我将它指向
https://google.com 时,按预期从套接字读取数据.但是,我似乎无法弄清楚如何将套接字指向任何有用的东西。 inadaydevelopment.com 的主页不是我想要的;我希望使用托管在该服务器上的 Web API,但似乎无法找到一种方法来做到这一点。
ConnectAsync()
方法只是
HostName
,第二个参数 (
remoteServiceName
) 必须是连接到我尝试连接的实际 API 或网页的方式。根据
the docs ,即
The service name or TCP port number of the remote network destination...
除了
https
之外,我还没有看到此参数的任何示例值和各种数值,它们都不会让我进入我试图连接的 API 端点或网页。
System.Net.ServicePointManager
在我的 WinRT 应用程序中,就像我在 WPF 应用程序中所做的那样?如果是这样,如何?
StreamSocket
连接到我想要连接的确切 Web 服务或网页,而不仅仅是顶级主机?
最佳答案
使用 Windows.Web.Http
API 而不是 System.Net.Http
应用程序接口(interface)。System.Net.Http
不支持 TLS1.2 但 Windows.Web.Http
在 WinRT 应用程序中。
关于windows-runtime - 在 WinRT 应用程序中,如何使用 TLS1.2 进行连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66788651/
是否可以在 WinRT 中实现自定义转换?例如。如果能够实现控件可见性的转换,那就太好了。因此,当您显示/隐藏分割 View 的一部分时,它会使用滑动效果为整个 View 添加动画效果。 最佳答案 是
我正在开发基于 XAML C# 的通用应用程序(目前专注于 WP8.1) 我的应用程序的主页非常复杂,有 3 个枢轴,每个枢轴都有网格、图像、边框、按钮、 ListView 等 问题有时是当我在执行其
我不久前从 C++/CX 切换到 C++/winrt,目前我被卡住了,因为我想创建一个单例 winrt 类。我阅读了有关 winrt::static_lifetime ( https://learn.
与 C++/CX 不同,C++/WinRT 中似乎没有 GUID 的包装器类型。它只使用普通的 C GUID struct原样。因此构造初始化 GUID 的唯一方法是使用 aggregate init
文档显示了这个 C# 片段: async void DisplayDeleteFileDialog(){ ContentDialog deleteFileDialog = new Conten
文档显示了这个 C# 片段: async void DisplayDeleteFileDialog(){ ContentDialog deleteFileDialog = new Conten
这是 xaml 的样子:
我有一个文本框,我不希望用户粘贴到其中。 如何防止粘贴? 从另一个应用程序中将文本拖放到 TextBox 中也是一个粘贴事件吗? 最佳答案 从 Windows 8.1 开始,Windows.UI.XA
这实际上更像是一个好奇心类型的问题。我负责跨程序集和原始 IL 查找类型。不过,Windows 8 确实让我正在实现的某些事情陷入困境。我发现 WinRT 和非 WinRT 框架程序集共享相同的完全限
我正在尝试创建一个条目页面,其中一个选项是选择一个项目。该列表可以超过 1000 个,并且显示列出项目的启用搜索的页面是有意义的。当用户从编辑/创建屏幕中单击“选择项目”时,我可以将导航参数传递到该屏
我正在将我的库移植到 WinRT,它依赖于 System.Globalization.Calendar 类及其派生类,如 GregorianCalendar 和 HijriCalendar 等。虽然这
我需要下载一个大的视频文件并将其保存到硬盘上。 然后我需要使用 XAML 媒体元素播放这个视频文件。 但该文件必须使用 AES 256 算法和加密 key 进行加密。任何时候都不得将未加密的数据写入硬
假设我有这样的事情: 像这样: public class MyViewModel : INotifyPropertyChanged { public MyViewModel() {
我正在尝试使用 WinRT 中的当前文化来格式化日期时间值。但是CurrentCulture 属性似乎并不尊重系统文化。 我尝试了以下两个属性, System.Globalization.Cultur
我的应用程序是在 silverlight 中开发的。计划在今年晚些时候推出。我担心我的 xaps 会被逆向工程。我的 wcf 服务确实有很多智能,但您不能将所有内容都放在服务中。现在 winrt 是另
我使用下面的代码发送电子邮件。但是当我在 VS 的模拟器中运行它时,无法启动电子邮件客户端。我做错了什么?但是电子邮件客户端以本地计算机模式启动。 var mailto = new Uri("mail
我正在开发通用应用程序。在为Windows Phone 8.1项目设计 View 时,不能使任何按钮的宽度小于109。如果将按钮的width属性设置为小于该宽度,则呈现时它将变为109。 我想知道如何
情况: 我从不同的互联网位置获取 json 对象。 这些包含我放在 BingMap 上的许多地理坐标。效果非常好。 问题: 但是当我从互联网位置获取数据时,我得到了一个阻塞的用户界面。有没有办法在后台
想法是这样的,您正在 Visual Studio 2013 Update 2 中为 Windows 8.1-Update 和 Windows Phone 8.1 创建一个 WinRT-XAML 通用应
什么是更新(替换)本地存储中的图像的好方法,该图像绑定(bind)到导航堆栈中的图像控件。 更具体地说:我在页面 A (ViewProfile.xaml) 中显示图像,图像源绑定(bind)到属性 I
我是一名优秀的程序员,十分优秀!