我陷入了一个大问题。
我在 ASP.NET 中构建了一个 MVC WebAPI,它使用 google api(服务帐户)写入 google 电子表格。我可以很好地运行应用程序,也可以写入电子表格。但问题是当我将它托管在 Godaddy 的共享 Windows 服务器上时,它给了我一个错误。
[加密异常:
发生了内部错误。
]
System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 小时)+33 System.Security.Cryptography.X509Certificates.X509Utils。_LoadCertFromFile(字符串文件名,IntPtr 密码,UInt32 dwFlags,布尔persistKeySet,SafeCertContextHandle& pCertCtx)
+0
System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(字符串文件名,对象密码,X509KeyStorageFlags keyStorageFlags)+218
System.Security.Cryptography.X509Certificates.X509Certificate.Import(字符串文件名,字符串密码,X509KeyStorageFlags keyStorageFlags)+33
系统。 Security.Cryptography.X509Certificates.X509Certificate2.Import(字符串文件名,字符串密码,X509KeyStorageFlags keyStorageFlags)+33
GAExampleMVC.GoogleAnalytics.GoogleAnalyticsService.GetStats() 在 d:\Aakash\Thermax\webapi\GAExampleMVC\GAExampleMVC\GoogleAnalytics\GoogleAnalytics.cs:50 GAExampleMVC.Controllers.HomeController.Index() 在 d:\Aakash\Thermax\webapi\GAExampleMVC \GAExampleMVC\Controllers\HomeController.cs:16 lambda_method(Closure, ControllerBase, Object[]) +62
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器, Object[] 参数) +14
System.Web.Mvc.ReflectedActionDescriptor。 Execute(ControllerContext controllerContext, IDictionary 2 参数) +27 System.Web.Mvc.<>c__DisplayClass15.b__12() +55 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func2 parameters) +211
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary1 continuation) +253
1 个过滤器,ActionDescriptor actionDescriptor,IDictionary`2 个参数)+189
System.Web.Mvc.<>c__DisplayClass17.<InvokeActionMethodWithFilters>b__14() +21 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +324
System.Web.Mvc.Controller.ExecuteCore() +105
我只是不明白为什么它不能在 Godaddy 上运行,而相同的代码在 localhost 中运行良好。
我猜这与我的代码无法访问的某些证书存储有关。
任何人都可以帮助我了解确切的问题以及如何解决它。