小编Jos*_*elo的帖子

在WPF中的后台线程中加载图像

在这个网站和其他论坛上已经有很多关于这方面的问题,但我还没有找到真正有效的解决方案.

这就是我想要做的事情:

  • 在我的WPF应用程序中,我想加载一个图像.
  • 图像来自Web上的任意URI.
  • 图像可以是任何格式.
  • 如果我不止一次加载相同的图像,我想使用标准的Windows互联网缓存.
  • 图像加载和解码应该同步进行,但不能在UI线程上进行.
  • 最后,我应该得到一些我可以应用于<Image>的源属性的东西.

我尝试过的事情:

  • 在BackgroundWorker上使用WebClient.OpenRead().工作正常,但不使用缓存.WebClient.CachePolicy仅影响该特定WebClient实例.
  • 在Backgroundworker上使用WebRequest而不是WebClient,并设置WebRequest.DefaultCachePolicy.这正确地使用了缓存,但我没有看到一个例子,它没有给我一半时间看起来像图像的图像.
  • 在BackgroundWorker中创建BitmapImage,设置BitmapImage.UriSource并尝试处理BitmapImage.DownloadCompleted.如果设置了BitmapImage.CacheOption,这似乎使用了缓存,但是由于BackgroundWorker立即返回,因此似乎没有办法处理DownloadCompleted.

几个月来我一直在努力解决这个问题,我开始认为这是不可能的,但你可能比我更聪明.你怎么看?

wpf

18
推荐指数
2
解决办法
9635
查看次数

如何保护.NET应用程序中的API密钥

我的应用程序访问了许多Web服务,例如Twitter和Flickr.它使用来自这些服务的API密钥,我想在我的二进制文件中对它们进行模糊处理.(我真的不担心盗版或其他什么,我只需要保密这些密钥.)

什么是最好的方法呢?

如果我将它们存储为const SecureString,是否会使它们无法存储?MSDN描述说文本"不再需要时从计算机内存中删除",但不是常量内存中的常量?

Dotfuscator会在我的装配中掩盖它吗?(假设我可以让它工作.)

.net security obfuscation dotfuscator api-key

9
推荐指数
2
解决办法
1550
查看次数

如何找到距离给定集合及其边界框最远的点

我有一个边界框,里面有许多点.我想添加另一个点,其位置距离任何先前添加的点最远,并且远离盒子的边缘.

这种事情有一个共同的解决方案吗?谢谢!

algorithm math distance path

7
推荐指数
1
解决办法
2760
查看次数

从 iOS 上的链接打开 Instagram 应用

我提供了一个供桌面和移动应用程序使用的提要,其中包含指向 Instagram 上图像、用户和标签的链接。当在 iOS 上点击这些链接时,我希望它们在 Instagram 应用程序中打开。

目前,如果我有这样的链接:https : //www.instagram.com/p/BK8f1rigadE/

如果我在 iOS 中点击它,Instagram 应用程序会打开,只是简单地打开。然后它似乎将 Safari 启动到该页面,其中包含一个“在应用程序中打开”链接以在应用程序中将其打开。该链接使用“ instagram:// ”协议来触发应用程序打开。我知道这种方法,但这不是我所追求的。

我在 iOS 10 上使用最新的 Instagram 应用程序。我觉得这曾经有效,所以我想知道它是否只是 iOS 或 Instagram 中的一个错误,最终会被修复。

twitter.com 的链接在 Twitter 应用程序中正确打开......这就是我所追求的那种行为。

ios instagram

6
推荐指数
2
解决办法
4万
查看次数

使用graphiql检查远程graphql端点

有一个graphql端点,我不拥有,但它提供了一个公共端点.我希望用graphiql来反省它.我对graphql完全不熟悉,所以我甚至都不知道这种事情是否可行.

我有本地运行的graphiql示例,我正在修改server.js以尝试使其工作.在其他SO线程中探索已经让我这么远......

var introspectionQuery = require('graphql/utilities').introspectionQuery;
var request            = require('sync-request');

var url = 'http://endpoint.com/graphql';
var response = request('POST', url, { qs: { query: introspectionQuery } } );
var schema = JSON.parse(response.body.toString('utf-8'));

// herein lies the rub
schema = new GraphQLSchema(schema.data.__schema);

var app = express();
app.use(express.static(__dirname));
app.use('/graphql', graphqlHTTP(() => ({
  schema: schema,
})));
app.listen(8080);
Run Code Online (Sandbox Code Playgroud)

此代码在GraphQLSchema构造函数中爆炸,尝试从该内省查询中创建一个模式.显然,这不是一个正确的方法?

graphql graphql-js

6
推荐指数
1
解决办法
1120
查看次数

设置WiX快捷方式的工作目录

我在设置作为WiX脚本一部分创建的快捷方式的工作目录时遇到问题.以下是基础知识:

<!-- create a start menu shortcut. -->
<Directory Id="ProgramMenuFolder">
  <Directory Id="ApplicationProgramsFolder" Name="My Name">
    <Component Id="ApplicationShortcut" Guid="822A26AF-5231-4EDA-A18D-5DF15020BD94">
      <Shortcut Id="ApplicationStartMenuShortcut"
                Name="My Name"
                Description="My Description"
                Target="[INSTALLLOCATION]My.exe"
                WorkingDirectory="INSTALLLOCATION" />
      <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
    </Component>
  </Directory>
</Directory>

<!-- Install the app. -->
<Directory Id="ProgramFilesFolder">
  <Directory Id="INSTALLLOCATION" Name="My Name">
    <Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE">
      <File Id="My.exe" Name="My.exe" Source="My.exe" />
    </Component>
  </Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)

这与我见过的示例相吻合,并且创建了快捷方式,它指向了正确的exe,但是快捷方式没有指定工作目录,因此应用程序找不到它的本地资源.

wix shortcut

3
推荐指数
1
解决办法
5647
查看次数

C#中相似类型之间的转换

我有两种类型具有相同成员但名称不同的类型.是否有一种简单或标准的方式在他们之间施放,或者我是否必须用反射进行严重的黑客攻击?

c# casting

2
推荐指数
2
解决办法
182
查看次数