小编avs*_*099的帖子

如何以编程方式清除控制器操作方法的outputcache

如果控制器操作在操作上指定了OutputCache属性,是否有任何方法可以清除输出缓存而无需重新启动IIS?

[OutputCache (Duration=3600,VaryByParam="param1;param2")]
public string AjaxHtmlOutputMethod(string param1, string param2)
{
  var someModel = SomeModel.Find( param1, param2 );

  //set up ViewData
  ...

  return RenderToString( "ViewName", someModel );
}
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用HttpResponse.RemoveOutputCacheItem(string path)它来清除它,但是我很难弄清楚应该将它映射到action方法的路径.我将再次尝试使用ViewName呈现的aspx页面.

也许我只是手动插入的输出RenderToStringHttpContext.Cache,而是如果我不明白这一个.

更新

请注意,OutputCache是​​VaryByParam,测试出硬编码路径"/ controller/action"实际上并没有清除outputcache,所以看起来它必须匹配"/ controller/action/param1/param2".

这意味着我可能不得不恢复到对象级缓存并手动缓存输出RenderToString():(

asp.net asp.net-mvc

62
推荐指数
3
解决办法
4万
查看次数

Resharper - 是否可以通过CTRL-click转到方法的实现,而不是去声明?

如果我使用Resharper 8在VS2012中单击CTRL点击方法的名称,我会被重定向到方法的"声明" - 如果我的项目中有很多接口,那就非常不方便了.

如果可以配置resharper直接进入方法的实现(如果有多个 - 显示一个上下文菜单,我需要从中选择所需的方法)?如果我右键单击 - >"转到实现",我可以实现这一点,但我更喜欢在ctrl-click上进行此操作.

c# resharper visual-studio-2012

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

Thread.Sleep小于1毫秒

我想用不到1毫秒的时间调用线程休眠.我读到没有thread.Sleep也没有Windows-OS支持.

那是什么解决方案?

对于所有想知道我为什么需要这个的人:我正在进行压力测试,并想知道我的模块每秒可以处理多少消息.所以我的代码是:

 // Set the relative part of Second hat will be allocated for each message 
 //For example: 5 messages - every message will get 200 miliseconds 
 var quantum = 1000 / numOfMessages;

 for (var i = 0; i < numOfMessages; i++)
 {
      _bus.Publish(new MyMessage());
      if (rate != 0) 
          Thread.Sleep(quantum);
 }
Run Code Online (Sandbox Code Playgroud)

我很高兴得到你的意见.

.net c# multithreading

28
推荐指数
5
解决办法
4万
查看次数

如何为我的应用程序显示"Windows防火墙已阻止此程序的某些功能"对话框?

我正在开发.Net 4.0 C#Windows Forms应用程序,它在某个预定义的端口上托管WCF服务(比方说12345).我们有另一个iPad应用程序与此WCF服务对话 - 此连接被Windows防火墙阻止.我的用户总是遇到麻烦,因为他们必须记住将此应用程序添加到例外列表等 - 这会导致沮丧.

如何让Windows在我的应用程序的屏幕截图中显示弹出窗口,以使其更加用户友好?

更新 - 我明白我可以以编程方式更新Windows防火墙中的规则.但是,这需要管理员权限,这并不总是可行的.例如,我在将来的某个时候考虑ClickOnce部署 - 不确定它将如何使用它.所以我仍然想知道为了得到那个对话我应该怎么做.


解决方案: 感谢下面的@alexw答案,我能够使用这个简单的代码获得对话框:

IPAddress ipAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, 12345);

TcpListener t = new TcpListener(ipLocalEndPoint);
t.Start();
t.Stop();
Run Code Online (Sandbox Code Playgroud)

以及更多 - 不可能将这个弹出窗口作为文档状态获得WCF服务(参见底部):

WCF的自托管HTTP寻址未集成到Windows防火墙中.必须在防火墙配置中添加例外,以允许使用特定URL的入站连接.

在此输入图像描述

c# wcf windows-firewall

21
推荐指数
1
解决办法
6816
查看次数

如何重塑(和重新分发)iOS iPad应用程序?

我在App Store有应用程序.一位客户向我询问是否可以获得相同的应用程序,但他的iPad上安装了不同的名称,不同的图形和其他一些更改 - 其中150个.如果那将是10个iPad - 我会进行自定义构建,将所有iPad添加到配置证书中,就可以了.但这不适用于150台iPad.那么我的选择是什么?到目前为止,我可以考虑以下几点:

  1. 再打开2个开发帐户并将UUID添加到其中 - 但我有一种感觉,Apple不会喜欢这个.
  2. 进行必要的更改 - 并使用不同的名称将应用程序提交到App Store
  3. 使用Enterprise分发图解 - 但我不认为它会从法律角度来看 - 我的客户想要在他的客户的iPad上安装应用程序 - 所以它显然不是"内部"分发.

到目前为止,选项#2看起来对我来说是最有希望的 - 作为一个不同的应用程序提交到App Store.但我担心Apple不会让几乎相同的应用程序进入App Store.特别是如果我从与主应用程序相同的帐户提交它.Apple可以阻止我吗?还有其他想法吗?

谢谢.


更新和解决方案

我将在这里结合@ vikingosegundo的答案.

更新至选项2 - 使用其他名称提交至应用商店:

一些链接说它是可能的:http://developer.appcelerator.com/question/123906/white-label-apps---is-approval-possible-apple- - 并且可以这样做.我没有在应用商店评论指南中找到明确的限制 :

2.20将从iOS开发者计划中删除开发人员"发送垃圾邮件"App Store与许多版本的类似应用程序

我不相信两三个人会算得多,如果你明确重塑它就会算作垃圾邮件.但当然这取决于Apple.

更新选项#3 - 使用企业分发:

这就是我最后决定做的事情.我打电话给苹果支持@ 1-800-633-2152 - 真人回答:)我最担心的是,我想分发应用程序的iPad不属于我客户的业务 - 所以从技术上讲,它不是"内部发行" .然而他们说

企业是可以的,因为该应用程序将由企业持有者(我的客户)使用,谁拥有iPad并不重要

新选项#4 - 批量购买计划

Apple的批量购买计划看起来正是我们实际需要的:

批量购买计划还提供了一种获取由第三方开发人员构建的自定义B2B应用程序的方法,以满足您业务的独特需求.

在这个时刻,你必须成为美国企业才能加入这个项目 - 但他们希望尽快将其扩展到更多国家.

app-store ios

15
推荐指数
1
解决办法
5111
查看次数

YouTube播放器API:如何在不播放的情况下获取已加载/提示的视频的持续时间?

我无法通过YouTube Player API的getDuration()方法获取加载/提示视频的正确视频持续时间/长度(以秒为单位); 但是,相同的方法会在视频开始播放后返回有效值!想知道YouTube如何能够显示加载/提示视频的有效持续时间.

当我用15秒的视频剪辑加载这个HTML页面时,我得到以下调试输出:

state = 5 duration = -0.000025

当我点击播放按钮时,我得到以下调试输出:

state = 3 duration = 15,

非常感谢解决方案或解决方法.加载,立即播放和暂停播放器将不是我最喜欢的方法.

<html>
<head>
  <script type="text/javascript">
   var videoId;
   videoId = 'http://www.youtube.com/v/4TSJhIZmL0A';    // bbc
   // videoId = 'http://www.youtube.com/v/ezwyHNs_W_A'; // physics

    function $(id) {
      return document.getElementById(id);
    }
  </script>

  <script src="http://www.google.com/jsapi"></script>
  <script>
    google.load("swfobject", "2.1");
  </script>

</head>

<body>


  <table>
    <tr><td>
      <div id="player">
        You need Flash player 8+ and JavaScript enabled to view this video.
      </div>

    <script>
        var ytplayer;

        function myOnPlayerStateChange(state) {
          switch(state) {
            case 1:  // playing …
Run Code Online (Sandbox Code Playgroud)

javascript youtube duration youtube-api youtube-javascript-api

14
推荐指数
1
解决办法
4万
查看次数

Android:Paypal Preapproval API操作(需要示例)

PayPal预批准API操作是否有任何工作示例.我经历了一些教程.但他们正在为交易指定一些预先批准的密钥.我们如何获得这个钥匙?

android paypal-subscriptions

14
推荐指数
1
解决办法
788
查看次数

是否可以禁用隐式ToString()调用?

我想知道是否有一种方法可以获得此代码的编译错误:

var customer = new SomeCustomerClass();
Console.WriteLine("Customer address:" + customer);
Run Code Online (Sandbox Code Playgroud)

所以我将被迫写下这样的东西:

var customer = new SomeCustomerClass();
Console.WriteLine("Customer address:" + customer.FormatAddress());
Console.WriteLine("Customer accounts:" + customer.FormatAccounts());
Run Code Online (Sandbox Code Playgroud)

如果"ToString"是一个接口,我可以在我的类中使用显式接口实现.

谢谢.

c#

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

Facebook访问令牌因未知原因而到期

来自@ avs099的编辑:我正在这篇文章上开始赏金,因为我有完全相同的问题.我在这里总结了这个问题,并留下了帖子本身,底部没有任何变化供参考.


我们拥有的: Facebook页面访问令牌,如此处所述获得:使用新的fb_exchange_token请求进行身份验证,以及将其延长至60天.

有什么问题:这个令牌可以工作一段时间 - 有时候我可以在几天内将数百张照片发布到我的粉丝页面; 有时它几乎没有照片 - 然后我开始得到

(OAuthException)使访问令牌无效时出错:会话已失效,因为用户已更改密码.

要么

(OAuthException)使访问令牌无效时出错:会话与当前存储的会话不匹配.这可能是因为用户在创建会话之后更改了密码,或者Facebook出于安全原因更改了会话.

来自Facebook的例外 - 当然我没有更改密码或取消授权应用程序.

附加信息:不确定是否重要但是:

  1. 有时候,在我从Facebook提出请求后的几天,我开始使用令牌
  2. 从服务器请求令牌(通过C#后端),该服务器位于与将照片发布到粉丝页面的桌面应用程序不同的地理区域中.
  3. 有时会发生几个不同的桌面应用程序发布来自不同PC的照片(我猜不同的IP)

任何人都知道发生了什么以及如何解决这个问题?

谢谢.


我有一个Facebook应用程序,有两个目的:

1)允许用户facebook连接我的网站2)允许我的网站发布到我的网站Facebook粉丝页面墙

我关心的是第二次使用.我曾经能够在粉丝页面上设置应用程序的权限,只允许发布(通过php sdk)而不用担心访问令牌.现在我已经创建了一些新的粉丝页面,并且该功能似乎已被删除.好吧,所以我经历了为用户(总是我或我的Facebook粉丝页面的另一个管理员)获取访问令牌(成功)的整个过程,并使用该令牌获取我管理的粉丝页面的访问令牌(我有manage_pages权限以及我要发布到的页面的其他管理员也是如此.但是,当引擎转到将内容发布到我的粉丝页面时,令牌已过期,并出现以下两条错误消息之一:

使访问令牌无效时出错:会话与当前存储的会话不匹配.这可能是因为用户在创建会话之后更改了密码,或者Facebook出于安全原因更改了会话.

要么

OAuthException:使访问令牌无效时出错:会话已失效,因为用户已更改密码.

但这不是依赖于外部用户的访问令牌,只有内部人员(我和其他一个人现在).我们不会更改密码或做任何事情.我甚至在获得令牌后退出Facebook测试它,它工作正常.只是过了一会儿,他们无缘无故地过期了.当我拿到令牌时,我可以在调试工具上检查它们,它们应该持续60天(根据文档),尽管该工具说它们永不过期.

我已经设置了系统,所以当它无法发布到页面时,我会收到一封电子邮件,其中包含指向我网站的链接以更新令牌.

有人知道发生了什么事吗?

facebook facebook-graph-api

8
推荐指数
1
解决办法
9499
查看次数

HTML5/CSS3 - 如何制作"无尽的"旋转背景 - 360度全景

我有一个JPG图像与城市的360度视图(9000像素×1000像素).我需要创建一个具有无限旋转背景的页面- 例如,给用户留下旋转的webcamera的印象.

第一部分 - 从图像的左侧滚动到右侧非常简单 - 只需使用jQuery.animate(...).但是我怎样才能无缝地返回到图像的开头(在它完成359度转弯之后),所以用户不会注意到"跳跃"或类似的东西?

网上有什么例子吗?

我只针对HTML5/CSS3(webkit)浏览器,我可以使用最新的jQuery.

谢谢.

css jquery html5 jquery-animate

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