在ASP.NET WebForm

时间:2017-08-14 14:03:59

标签: c# asp.net .net webforms windows-runtime

我有一个用于数据加密/解密的Windows Runtime库,它由Windows商店应用程序使用。现在我试图从ASP.NET(v4.6)应用程序中公开相同的功能。

我不想在经典.NET Framework中重写数据加密/解密代码。所以我按照steps outlined here在ASP.NET应用程序中使用这些Windows运行时API。

步骤非常简单,只需打开记事本中的 .csproj 文件,并将此行添加到 PropertyGroup

<TargetPlatformVersion>8.1</TargetPlatformVersion>

然后我可以引用 Windows.winmd System.Runtime.WindowsRuntime.dll ,其中包含我将使用的所有类型。

重现问题的代码

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Windows.Storage.Streams.IBuffer buffer = Windows.Security.Cryptography.CryptographicBuffer.DecodeFromBase64String("U7WfTv43ThVoze8cBkRyu/OogTjzEHvyjJrO5KRusNaT9BZWCJ4BvIFxbjLmpd7F");
    }
}

错误:

  

System.ArgumentException:参数不正确。 (HRESULT异常:0x80070057(E_INVALIDARG))

还试过......

我在Console应用程序(也是v4.6)中重复了相同的步骤,代码运行顺利,我可以在Console中使用IBuffer,但为什么它不能在ASP.NET中运行?

0 个答案:

没有答案