C# 巴克莱加密asp.net(VB到c)

C# 巴克莱加密asp.net(VB到c),c#,asp.net,.net,vb.net,C#,Asp.net,.net,Vb.net,我正在尝试从巴克莱支付网关实现加密脚本,但是它是在VB中,我们网站的其余部分是在c#中 剧本是 公共类示例 继承System.Web.UI.Page #区域“Web表单设计器生成的代码” 'Web窗体设计器需要此调用。 私有子初始化组件() 端接头 私有子页_Init(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Init 'CODEGEN:Web表单设计器需要此方法调用 '不要使用代码编辑器修改它。 初始化组件()

我正在尝试从巴克莱支付网关实现加密脚本,但是它是在VB中,我们网站的其余部分是在c#中

剧本是

公共类示例
继承System.Web.UI.Page
#区域“Web表单设计器生成的代码”
'Web窗体设计器需要此调用。
私有子初始化组件()
端接头
私有子页_Init(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Init
'CODEGEN:Web表单设计器需要此方法调用
'不要使用代码编辑器修改它。
初始化组件()
端接头
#末端区域
私有子页_Load(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
'将用于初始化页面的用户代码放在此处
'下面创建WebClient对象
Dim web作为新系统.Net.WebClient()提供
'然后设置标题内容类型
添加(“内容类型”、“应用程序/x-www-form-urlencoded”)
'然后将PostData声明为数据类型字节,并用post数据填充
Dim PostData格式为Byte()=System.Text.Encoding.ASCII.GetBytes(“clientid=[clientid]&密码=[password]&oid=[orderid]&chargetype=PreAuth¤cycode=826&total=[total]”)
'然后使用Web对象将postdata上载到加密URL,并将响应存储在响应变量中
Dim响应为Byte()=web.UploadData(“https://secure2.epdq.co.uk/cgi-bin/CcxBarclaysEpdqEncTool.e“,”POST“,PostData)
'来自post的响应然后从类型字节转换为字符串,并存储在会话变量中
会话(“响应”)=(System.Text.Encoding.ASCII.GetString(响应))
端接头
末级
我怎样才能在我的C#aspx页面中运行这个VB?或者我需要将其转换为使用c#??在我的aspx页面中,我有第一行

<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="utf-8" CodeBehind="encryption.cs" %>


谢谢您的帮助。

您的整个应用程序代码都是C#。因此,最好将巴克莱代码转换为C。您可以使用下面的链接将vb代码转换为C#。

您的整个应用程序代码都是C。因此,最好将巴克莱代码转换为C。您可以使用下面的链接将vb代码转换为C#。

转换VB.NET代码要简单得多,而不是在某处对其进行优化;相信你会花时间去消化,我冒昧地为你这么做:

public class Example : System.Web.UI.Page
{
    private void Page_Load(object sender, System.EventArgs e)
    {
        //put user code to initialise page here

        var client = new System.Net.WebClient();
        client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

        var data = System.Text.Encoding.ASCII.GetBytes(
            "clientid=[clientid]&password=[password]&oid=[orderid]&" + 
            "chargetype=PreAuth&currencycode=826&total=[total]");

        var response = client.UploadData(
            "https://secure2.epdq.co.uk/cgi-bin/CcxBarclaysEpdqEncTool.e", 
            "POST", data);

        Session["Response"] = System.Text.Encoding.ASCII.GetString(response);
    }
}
请注意,大部分代码都是相同的,例如通过名称空间访问框架的类型看起来几乎相同;不同之处包括区分大小写,因此我们必须使用小写字母作为保留字,如访问描述符(
public
private
等)和
new
关键字等;此外,语句以C#中的分号结尾


此外,请注意您可能需要注意的代码中的一些“问题”,例如,此处未正确处理某些问题(即从未调用过
Dispose

与其在某个地方处理此VB.NET代码,不如将其转换为更简单的代码;相信你会花时间去消化,我冒昧地为你这么做:

public class Example : System.Web.UI.Page
{
    private void Page_Load(object sender, System.EventArgs e)
    {
        //put user code to initialise page here

        var client = new System.Net.WebClient();
        client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

        var data = System.Text.Encoding.ASCII.GetBytes(
            "clientid=[clientid]&password=[password]&oid=[orderid]&" + 
            "chargetype=PreAuth&currencycode=826&total=[total]");

        var response = client.UploadData(
            "https://secure2.epdq.co.uk/cgi-bin/CcxBarclaysEpdqEncTool.e", 
            "POST", data);

        Session["Response"] = System.Text.Encoding.ASCII.GetString(response);
    }
}
请注意,大部分代码都是相同的,例如通过名称空间访问框架的类型看起来几乎相同;不同之处包括区分大小写,因此我们必须使用小写字母作为保留字,如访问描述符(
public
private
等)和
new
关键字等;此外,语句以C#中的分号结尾


此外,请注意您可能需要注意的代码中的一些“问题”,例如,此处处理不当(即,
Dispose
从未被调用)

基本上创建一个c#asp.net页面,并在页面加载方法中将“Dim X as Y”更改为“Y X”或“var X”,这将非常有助于实现目标。基本上创建一个c#asp.net页面,并在页面加载方法中将“Dim X as Y”更改为“Y X”或“var X”,这将非常有助于实现目标。非常感谢!我已经插入了代码,我确实理解您所做的:)但是,它似乎没有被调用。我删除了除设置session=“hello”之外的所有代码。它并不像我预料的那样写出来。这是我第一次使用codebehind!在页面指令中,尝试设置
AutoEventWireup=true
;这个问题听起来像是你的页面没有订阅该事件,因此从未发出警报。请稍微更改一下。。。src=“encryption.cs”继承了=“encryption:Example”。它现在正在显示会话变量。。。。非常感谢您的帮助!:)嗨,格兰特·托马斯,我是巴克莱支付集成的新手。您能告诉我如何将它集成到asp.net c#中吗。谢谢,非常感谢!我已经插入了代码,我确实理解您所做的:)但是,它似乎没有被调用。我删除了除设置session=“hello”之外的所有代码。它并不像我预料的那样写出来。这是我第一次使用codebehind!在页面指令中,尝试设置
AutoEventWireup=true
;这个问题听起来像是你的页面没有订阅该事件,因此从未发出警报。请稍微更改一下。。。src=“encryption.cs”继承了=“encryption:Example”。它现在正在显示会话变量。。。。非常感谢您的帮助!:)嗨,格兰特·托马斯,我是巴克莱支付集成的新手。您能告诉我如何将它集成到asp.net c#中吗。谢谢。谢谢你的链接-毫无疑问,这将在未来证明是有用的!享受developerfusion.com…-:)感谢您的链接-毫无疑问,这将在将来证明是有用的!享受developerfusion.com带来的乐趣…-:)