0

在 1and1 共​​享主机中发布的 ASP.MVC 4.0 应用程序上使用条带支付(测试模式)时出现以下错误:

请求“System.Security.Permissions.SecurityPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限失败。有没有人遇到过类似的错误?我读过共享主机可能有事要做,因为它使用“中等信任”配置,但很难接受条带不能用于共享主机帐户(我相信大多数网站都在共享主机中运行)

非常感谢!

4

1 回答 1

0

我有同样的问题。正在执行的检查似乎存在问题,以确保您的服务器在心脏出血问题后没有被重定向。我正在与 stripe.net nuget 库的作者合作修复它。如果您想自己修复它,请转到 Infrastructure\Requestor.cs 文件并编辑以下部分(我已将问题区域注释掉)。完成此操作后,您可以以中等信任度运行 stripe.net。

private static string ExecuteWebRequest(WebRequest webRequest)
    {
        //var verificationCallback = new RemoteCertificateValidationCallback(StripeCertificateVerificationCallback);

        try
        {
            //ServicePointManager.ServerCertificateValidationCallback += verificationCallback;

            using (var response = webRequest.GetResponse())
            {
                return ReadStream(response.GetResponseStream());
            }
        }
        catch (WebException webException)
        {
            if (webException.Response != null)
            {
                var statusCode = ((HttpWebResponse)webException.Response).StatusCode;

                var stripeError = new StripeError();

                if(webRequest.RequestUri.ToString().Contains("oauth"))
                    stripeError = Mapper<StripeError>.MapFromJson(ReadStream(webException.Response.GetResponseStream()));
                else
                    stripeError = Mapper<StripeError>.MapFromJson(ReadStream(webException.Response.GetResponseStream()), "error");

                throw new StripeException(statusCode, stripeError, stripeError.Message);
            }

            throw;
        }
        finally
        {
            //ServicePointManager.ServerCertificateValidationCallback -= verificationCallback;
        }
    }
于 2014-07-15T19:20:21.783 回答