在Microsoft示例中,我看到了两种方法来检查DocumentDb对象是否存在,如Database,DocumentCollection,Document等:
首先是创建一个查询:
Database db = client.CreateDatabaseQuery().Where(x => x.Id == DatabaseId).AsEnumerable().FirstOrDefault();
if (db == null)
{
await client.CreateDatabaseAsync(new Database { Id = DatabaseId });
}
Run Code Online (Sandbox Code Playgroud)
第二个是使用"try catch"块:
try
{
await this.client.ReadDatabaseAsync(UriFactory.CreateDatabaseUri(databaseName));
}
catch (DocumentClientException de)
{
if (de.StatusCode == HttpStatusCode.NotFound)
{
await this.client.CreateDatabaseAsync(new Database { Id = databaseName });
}
else
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud)
在性能方面执行此过程的正确方法是什么?
我有一个带有Web作业“ WebJob1”的Web应用程序“ WebApplication2”(Azure API)。我想将应用程序和网络作业打包到一个zip文件中,以便将该包部署到云中。当我通过Visual Studio(发布-> Web部署程序包)进行操作时,它就像一个魅力。但是,当我尝试通过MSBuild(出于自动化目的)执行此操作时,出现此错误:命令:
C:\Program Files (x86)\MSBuild\14.0\Bin>MSBuild.exe "C:\Users\levs\Documents\Visual Studio 2015\Projects\WebApplication2\WebApplication2\WebApplication2.csproj" /p:OutputPath="C:\Users\levs\Documents\webPublish\MSBuildOutputPath" /p:DeployOnBuild=true /p:PackageLocation=C:\Users\levs\Documents\webPublish\test.zip /verbosity:m
Run Code Online (Sandbox Code Playgroud)
输出:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(2606,5): error : Copying file C:\Users\levs\Documents\webPublish\MSBuildOutputPath**\*.* to obj\Debug\Package \PackageTmp\app_data\jobs\continuous\WebJob1\*.* failed. Illegal characters in path. [C:\Users\levs\Documents\Visual Studio 2015\Projects\WebApplication2\WebApplication2\WebApplication2.csproj]
Run Code Online (Sandbox Code Playgroud)
你知道我在做什么错吗?
顺便说一句,每个项目(应用程序和webjob)的编译分别与MSBuild一起工作。
MSBuild版本:Microsoft(R)Build Engine版本14.0.25420.1