如何从iis上传的c#代码上传文件到google云存储

如何从iis上传的c#代码上传文件到google云存储,c#,google-cloud-storage,iis-7.5,C#,Google Cloud Storage,Iis 7.5,我正在从事一个项目,在这个项目中,我需要将一个文件从一个签名的url传递到一个外部API 我的代码如下: public void UploadFile(string localPath) { string objectName = null; string path = System.Web.HttpContext.Current.Server.MapPath(Resource.GoogleSigningKey); //path to google cloud

我正在从事一个项目,在这个项目中,我需要将一个文件从一个签名的url传递到一个外部API

我的代码如下:

public void UploadFile(string localPath)
   {
       string objectName = null;
       string path = System.Web.HttpContext.Current.Server.MapPath(Resource.GoogleSigningKey); //path to google cloud key
       var credential = GoogleCredential.FromFile(path);
       var storage = StorageClient.Create(credential);
       using (var f = File.OpenRead(localPath))
           {
               objectName = Path.GetFileName(localPath);
               storage.UploadObject(Resource.BucketName, objectName, null, f);
           }
   }
在这里,我上传文件到谷歌云存储创建签名的url

这段代码在本地机器上运行得很好,但当我将其上传到IIS时,会出现如下错误 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机未能响应21X.XX.XXX.XXX:ZZZ

IIS版本为7.5

我是否需要在谷歌云存储上进行一些生产配置设置

我得到以下错误:

An error occurred while sending the request. at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.CheckFinalProgress() at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.Execute() at Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(String bucket, String objectName, String contentType, Stream source, UploadObjectOptions options, IProgress`1 progress) 
编辑1 当我创建windows窗体应用程序并在服务器上执行它时,同样的代码也会起作用。除了

string path = System.Web.HttpContext.Current.Server.MapPath(Resource.GoogleSigningKey);
我正在使用

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var credential = GoogleCredential.FromFile(path + @"\DataFiles\TestStorage.json");
编辑2

IIS服务器是在代理设置中配置的,谷歌云访问是否需要单独配置代理设置

请帮忙


谢谢你

你能抓住Google.GoogleApiException并提供它抛出的确切错误消息吗?凭证路径是什么?请记住,IIS不是作为用户运行的,而是作为服务运行的。这意味着服务的路径必须存在。@JohnHanley:它是AppData文件夹中的一个文件:“~/App\u Data/XXXX.json”,因此我在上一行中使用了Server.MapPath。路径
~/App\u Data/XXXX.json
对服务无效。指定完整路径。这是我正在获取的错误发送请求时出错。位于Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.CheckFinalProgress()位于Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.Execute()位于Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(字符串bucket、字符串objectName、字符串contentType、流源、UploadObjectOptions选项、IProgress`1进度)