小编Ste*_*rov的帖子

Paypal REST api调用来自cURL但不来自C#代码

我试图从我的代码中调用Paypal api.我设置了沙盒帐户,当我使用curl但它的代码工作方式不同时,它会起作用,返回401 Unauthorized.

这是Paypal记录的curl命令

curl https://api.sandbox.paypal.com/v1/oauth2/token -H "Accept: application/json" -H "Accept-Language: en_US" -u "A****:E****" -d "grant_type=client_credentials" 
Run Code Online (Sandbox Code Playgroud)

更新:显然.Credentials不会做的伎俩,而是Authorization手动设置标题工作(见代码)

这是代码(修剪到它的本质):

  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://api.sandbox.paypal.com/v1/oauth2/token");
  request.Method = "POST";
  request.Accept = "application/json";
  request.Headers.Add("Accept-Language:en_US")

  // this doesn't work:
  **request.Credentials = new NetworkCredential("A****", "E****");**

  // DO THIS INSTEAD
  **string authInfo = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("A****:E****"));**
  **request.Headers["Authorization"] = "Basic " + authInfo;**

  using (StreamWriter swt = new StreamWriter(request.GetRequestStream()))
  {
    swt.Write("grant_type=client_credentials");
  }

  request.BeginGetResponse((r) =>
  {
    try
    {
       HttpWebResponse response = request.EndGetResponse(r) as HttpWebResponse; // …
Run Code Online (Sandbox Code Playgroud)

c# paypal

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

将值放在范围输入的拇指内

更新: 下面的解决方案.

我有一个滑块(<input type='range'../>),我在拇指内有一个值.这是一个粗略的表示:

        ______
_______/      \______
|______: [42] :______|
       \______/
Run Code Online (Sandbox Code Playgroud)

问题是拇指不支持内容所以我将值放在a中<div><span class='noselect'>[42]</span></div>left: ?px使用javascript 计算一些以移动div以匹配拇指.

这整个解决方案工作得相当好......除了文本捕获用于拇指的事件,因此滑块不会移动而是正在选择文本.

我添加了css来阻止实际的文本选择:

.noselect {
    -moz-user-select:-moz-none;
    -moz-user-select:none;
    -o-user-select:none;
    -khtml-user-select:none;  
    -webkit-user-select:none; 
    -ms-user-select:none;
    user-select:none; 
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

但上面的CSS并不能防止鼠标事件被文本而不是拇指消耗.

最重要的是,我尝试将事件转移到拇指:

$(document).on('click touchstart touchend touchmove', '.noselect', function (event) {
    var slider = $(this).parents('.slider').first();
    if (slider && slider.length > 0) {
        slider.trigger(event.type, event);
        event.stopPropagation();
        return false;
    } 
});
Run Code Online (Sandbox Code Playgroud)

上面的js捕获文本事件,但试图在它下面的滑块上触发它不会做任何事情.

问题是:如何使该值发生并且不干扰用户交互?

拇指本身的样式就像一个圆圈:

input[type="range"]:disabled::-webkit-slider-thumb {
    -webkit-appearance: none;
    background-color: #404040;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    background-color: …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery user-controls

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

IIS7会话失去了它的价值

我已经将挑战响应方案实现为Ajax处理程序.出于某种原因,它在工作几个月后停止工作.调查问题表明,Context.Session[KEY]在挑战和响应呼叫之间失去了价值.

我把Session_StartSession_End(和其他几个)在Global.asax.cs中的方法与一些记录那里,我看到一个新的在session_start事件与相同的会话ID解雇,没有Session_End中的事件

问题是:为什么IIS会丢失会话值?

更新:我尝试切换到SQLServer会话,但行为没有变化.在极少数情况下,会话按预期工作,不确定原因.我尝试了所有"会话丢失变量"故障排除指南我发现无效

更新2:我将问题缩小到缺少会话cookie,但修改my.browsers配置后几次尝试都没有解决问题.当我从浏览器调用ajax处理程序时,会话cookie"ASP.NetSessionId"按预期显示.我将站点和服务器的IIS设置中的cookie名称更改为"SessionId",但即使重新启动服务器,我仍然看到ASP.NET.我仍然想把这个赏金给予那些知道发生了什么的人.同时我通过在代码中设置会话cookie来解决这个问题.

Login.ashx的伪代码:

string login = GetParameter("login", context);
string passhash = GetParameter("pass", context);
string challenge = "" + Context.Session["CHALLENGE"];
if (!string.IsNullOrEmpty(challenge))
{
  // this is the 'response' part
  string challengeResponse = Crypto.GetChallengeResponse(Challenge, UserFromDB.PassHash);
  if (challengeResponse == passhash)
  {
    // Great success, challenge matches the response
    Log.I("Success");
    return "SUCCESS";
  }
  else
  {
    Log.W("Failed to respond");
    return "FAILED TO RESPOND";
  }
}
else
{
  // if passed login or session-stored challenge are empty …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-ajax session-variables

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

Word Document.SelectionChange事件不会触发

以下是基于VSTO的Word插件的代码(可读性简化版).

问题是,如果我打开了两个文档,例如文档和模板,我的插件有助于开发模板并正常工作,直到模板关闭并在同一个Word实例中重新打开(文档文件使Word保持活动状态).一旦发生这种情况,即使附加了侦听器(使用调试器确认),也不会收到SelectionChange事件.

这段代码有什么问题吗?附加选择更改事件的任何其他方式?

void Application_DocumentOpen(Word.Document Doc)
{
   // this method gets called as intended
   Document vstoDoc = Globals.Factory.GetVstoObject(doc);
   vstoDoc.SelectionChange += new Microsoft.Office.Tools.Word.SelectionEventHandler(ThisDocument_SelectionChange);
}

private void Application_DocumentBeforeClose(Word.Document doc, ref bool Cancel)
{
   // this one also gets called as intended
    Document vstoDoc = Globals.Factory.GetVstoObject(doc);
    vstoDoc.SelectionChange -= new Microsoft.Office.Tools.Word.SelectionEventHandler(ThisDocument_SelectionChange);

}

void ThisDocument_SelectionChange(object sender, SelectionEventArgs e)
{  
    // this doesn't get called if the document is closed and open again within the same Word instance
    Log("Selection changed");
}    
Run Code Online (Sandbox Code Playgroud)

更新:这似乎是VSTO的错误.

附加到其他事件工作正常,我可以使用ContentControlOnEnter/Exit:

vstoDoc.SelectionChange += ThisDocument_SelectionChange; …
Run Code Online (Sandbox Code Playgroud)

c# vsto ms-word office-interop

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

Xamarin表单导航没有动画

我有一个应用程序,我想要显示页面A,用户可以从中导航到页面B或C,从B返回到A或C,从C返回到A,即使用户通过B获取到C. 页面导航

目前,当我执行B-> C转换时,我首先PopAsync回到A,然后我做到PushAsync了C,所以'

问题是:有没有一种文明的方式来设置这个导航方案,同时仍然依靠内置的导航来跟踪导航堆栈 - 我不想自己这样做并使用PushModalAsync.

请注意(如图中所示)A和C不是整个导航堆栈的终点,在A之前和之后都有页面,因此必须保留堆栈.

xamarin xamarin.forms

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

使用Xamarin捕获iOS UITextField清除事件

我想在按下textview(x)时执行一些操作(重置搜索).

这样的事情:iPhone按下UITextField/UISearchBar的清除按钮时执行操作但我不知道如何使用Xamarin

我有这个:

tbkSearchOrder.ShouldReturn += (textField) => { 
   ComboViewCtl.OnOrdersFiltered (this, tbkSearchOrder.Text);
   return true; 
};
Run Code Online (Sandbox Code Playgroud)

它响应键盘上按下的"搜索"按钮.UITextField有几个类似的方法,但它们是方法,而不是事件或操作或委托.理想情况下,我会避免为该文本字段编写一个大的Delegate类.

ios xamarin

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

为Xamarin iOS项目创建Card.IO绑定的麻烦

以前我手动制作了Card.IO绑定.它正在编译,使用它的项目也是如此,但它会经常崩溃.

现在我尝试从头开始使用ObjectiveSharpie重新创建绑定.绑定项目编译,但当我从另一个项目引用它时,我得到如下所示的编译器错误.

它将AVFoundation框架项显示为"未定义的符号......",因此在Xamarin的IOS Build选项中,我有"-cxx"选项.我尝试了各种方法组合来向项目添加框架: - 在CardIO绑定项目中修改[assembly:LinkWith(...,Frameworks ="...")].这导致我的主项目中无法识别的CardIO命名空间 - 添加了-gcc_flags"-framework ...".这导致来自编译器的"找不到框架"消息我最终通过包含a来解析AVFoundation using AVFoundation,然后在其类中请求类型名称,因此链接器不会优化它 - 我书中的丑陋黑客.

在下面的错误中,看起来有更多的框架丢失,除此之外,我相信std::...应该通过使用"-cxx"参数来解决这些问题.

我没有想法如何使这个绑定编译和正常工作.

Undefined symbols for architecture armv7:
  "_AudioServicesPlayAlertSound", referenced from:
      -[CardIOCameraViewController vibrate] in libCardIO.a(CardIOCameraViewController.o)
  "_CMGetAttachment", referenced from:
      -[CardIOVideoStream captureOutput:didOutputSampleBuffer:fromConnection:] in libCardIO.a(CardIOVideoStream.o)
  "_CMSampleBufferGetImageBuffer", referenced from:
      -[CardIOVideoFrame process] in libCardIO.a(CardIOVideoFrame.o)
  "_CVPixelBufferGetBaseAddressOfPlane", referenced from:
      +[CardIOIplImage imageFromYCbCrBuffer:plane:] in libCardIO.a(CardIOIplImage.o)
  "_CVPixelBufferGetBytesPerRowOfPlane", referenced from:
      +[CardIOIplImage imageFromYCbCrBuffer:plane:] in libCardIO.a(CardIOIplImage.o)
  "_CVPixelBufferGetHeightOfPlane", referenced from:
      +[CardIOIplImage imageFromYCbCrBuffer:plane:] in libCardIO.a(CardIOIplImage.o)
  "_CVPixelBufferGetWidthOfPlane", referenced from:
      +[CardIOIplImage imageFromYCbCrBuffer:plane:] in libCardIO.a(CardIOIplImage.o)
  "_CVPixelBufferLockBaseAddress", referenced from:
      -[CardIOVideoFrame process] in libCardIO.a(CardIOVideoFrame.o) …
Run Code Online (Sandbox Code Playgroud)

xamarin.ios xamarin card.io

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

如何使用Xamarin.Forms在ui中创建右对齐项?

我尝试使用StackLayout和Grid创建此页面,但我无法将rightы控件与右侧对齐.也许我应该使用RelativeLayout?但我不知道如何将控制与右侧对齐

这是我的页面:http: //s9.postimg.org/z5ilck6hb/template.png

UPD. 我通过将StackOayout与Horizo​​ntalOptions = LayoutOptions.EndAndExpand放到每个网格单元格(在右列中)解决了这个问题

xamarin.ios xamarin.android xamarin windows-phone-8 xamarin.forms

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

如何在 .NET 中加载证书请求并从中创建证书

我想从其序列化形式加载证书请求 (CSR) 并对其进行签名。这在纯 .NET 中可能吗?

CSR 如下所示:

-----BEGIN CERTIFICATE REQUEST-----
MIIDejCCAmICAQAwZTE0MDIGCgmSJom....
-----END CERTIFICATE REQUEST-----
Run Code Online (Sandbox Code Playgroud)

它是使用 .NET 4.7.2 生成的CertificateRequest,类似于这个问题的答案: Generate and Sign Certificate Request using pure .net Framework

然后将序列化的 CSR 发送到需要创建证书的服务器 - 问题是如何做到这一点。

.net certificate x509certificate2

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