我一直在用 blob 手表写一个网络作业(比如http://www.hanselman.com/blog/IntroducingWindowsAzureWebJobs.aspx)
有时,我会在没有警告的情况下从该行收到“无效的容器名称”异常
host.RunAndBlock();
尽管没有更改 App.config 中的容器名称,并且所有其他访问 blob 存储的方法都有效。
这是任何关心它的人的堆栈跟踪:
The thread '<No Name>' (0x17bc) has exited with code 0 (0x0).
at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at BarcodeJob.Program.Main() in c:\Users\Nik\Documents\Visual Studio 2012\Projects\BarcodeJob\BarcodeJob\Program.cs:line 34
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
和错误信息
System.FormatException: Invalid container name:
at Microsoft.WindowsAzure.Jobs.BlobClient.ValidateContainerName(String containerName)
at Microsoft.WindowsAzure.Jobs.CloudBlobPath..ctor(String blobInput)
at Microsoft.WindowsAzure.Jobs.LogRow.ToPath()
at Microsoft.WindowsAzure.Jobs.BlobLogListener.<GetRecentBlobWrites>d__0.MoveNext()
at Microsoft.WindowsAzure.Jobs.BlobListener.Poll(Action`1 callback, CancellationToken cancel)
at Microsoft.WindowsAzure.Jobs.Listener.PollBlobs(CancellationToken token)
at Microsoft.WindowsAzure.Jobs.Listener.Poll(CancellationToken token)
at Microsoft.WindowsAzure.Jobs.Worker.Poll(CancellationToken token)
at Microsoft.WindowsAzure.Jobs.JobHost.RunAndBlock(CancellationToken token, Action pauseAction)
at Microsoft.WindowsAzure.Jobs.JobHost.RunAndBlock(CancellationToken token)
at Microsoft.WindowsAzure.Jobs.JobHost.RunAndBlock()
at BarcodeJob.Program.Main() in c:\Users\Nik\Documents\Visual Studio 2012\Projects\BarcodeJob\BarcodeJob\Program.cs:line 30