Skip To Content

DocFeatureLayer.ShareAsync (.NET)

DocFeatureLayer.ShareAsync 方法基于一个或多个指定的有效文档要素图层创建托管要素图层。 指定文档要素图层定义和要素将从工程图中移除,在当前工程区域中生成的要素将添加至工程图的新 web 要素图层的相应 AutoCAD 图层上。

以下是用法要求和行为:

  • 用户必须登录指定组织并具有有权创建或发布数据的用户角色。
  • 将根据指定文档要素图层创建包含一个或多个要素图层的单个托管要素图层项目。
  • 如果成功,则每个文档要素图层将替换为基于新托管要素图层的 web 要素图层。
  • 与所有 web 要素图层一样,将在工程图会话中重新绘制当前工程区域中包含的要素实体。
  • 生成的要素几何仅具有托管要素图层的功能,这可能更改几何,例如细化曲线。
  • 如果您尚未登录到组织,则系统将提示您输入用户名和密码。

声明

public async Task<(bool Success, IEnumerable<string> Responses)> Esri.ArcGISForAutoCAD.DocFeatureLayer.ShareAsync(Document doc, string serviceName, IEnumerable<string> flNames, string url, string sharingSettings, Dictionary<string, object> hostSettings = null)

参数

类型名称描述必填

文档

doc

要进行操作的 AutoCAD 文档。

必填

string

serviceName

新托管要素图层名称。 此名称将截短为 90 个字符。

必填

IEnumerable<string>

flNames

要共享的文档要素图层名称的集合。

必填

string

url

将在其中创建托管要素图层项目的 ArcGIS OnlineArcGIS Enterprise 组织的 URL。

必填

string

sharingSettings

托管要素图层的共享级别。 选项包含 "Public""Private""Organization"

必填

Dictionary<string, object>

hostSettings

用于限制字段和返回适当默认值的可选设置的字典。 下表描述了各个键和值。

可选

类型值描述必填

"Tags"

List<string>

字符串列表形式的新要素图层的描述性标签。 除非标签由用户设置,否则默认情况下将分配 "ArcGIS for AutoCAD" 标签。

可选

"Description"

string

正在创建的新托管要素图层的描述。

可选

"Folder"

string

将在其中创建新托管要素图层的文件名的名称。

可选

"DisableEditorTracking"

bool

指定是否将在新要素图层上禁用编辑者追踪。 默认值为 false

可选

"GroupsToShareWith"

List<string>

要与之共享的组织群组的名称。

可选

"AddGPSFields"

bool

指定是否将在新要素图层上添加 GPS 元数据字段。 默认值为 false

可选

"CreateWebFeatureLayerTemplate"

bool

指定是否将文档要素图层查询中设置的 AutoCAD 图层作为新创建的 Web 要素图层上的符号图层进行维护。 仅当图层具有仅图层查询并且该查询仅定义了一个图层时,这才有效。 默认值为 false

可选

"EnableM"

bool

指定是否将在新要素图层上启用 m 值。 默认值为 false

可选

"DefaultZ"

双精度

不支持编辑 z 值的编辑应用程序中新要素的默认 z 值。 在不支持编辑 z 值的 ArcGIS for AutoCAD 中进行编辑时,不会应该该值。

可选

返回

类型描述

(bool Success, IEnumerable<string> Responses)

命名元组,其中第一个值为 Success 值,第二个值为 Responses 值。 Success 值是一个布尔值,指定文档要素图层是否已成功共享,并在部分成功的情况下返回 true。 当 Successtrue 时,Responses 值是一个包含字符串形式的已发布门户项目 URL 的集合。 当 Successfalse 时,Responses 值是字符串错误消息的集合,包括来自门户的错误消息。

错误条件备注

如果参数无效,则此方法可能会抛出异常或者返回 null

示例

打印在名为 New_Construction 的新托管要素图层项目中将 Utility_PointsService_Lines 文档要素图层共享为托管要素图层时创建的门户项目 URL。

 // Initialize
 var doc = Application.DocumentManager.MdiActiveDocument;
 var serviceName = "New_Construction";
 var flNames = new List<string> { "Utility_Points", "Service_Lines" };
 var url = "https://arcgis.com/";
 var hostSettings = new Dictionary<string, object>
 {
   { "Description", "New construction." },
   { "Tags", new List<string> { "Construction", "CADwork" } },
   { "Folder", "CADwork" },
   { "GroupsToShareWith", new List<string> { "Group1", "Group2" } },
   { "CreateWebFeatureLayerTemplate", true },
 };

 // Share the document feature layers 
 var success = await Esri.ArcGISForAutoCAD.DocFeatureLayer.ShareAsync(doc, serviceName, flNames, url, "Private", hostSettings);

 // Print the portal item url
 if (success.Success == true)
{
  foreach (var response in success.Responses)
  {
    doc.Editor.WriteMessage("\nURL: " + response);
  }
}

else
{
  foreach (var response in success.Responses)
  {
    doc.Editor.WriteMessage("\nError: " + response);
  }
}

 /* Example output
 URL: https://arcgis.com//home/item.html?id=12345abcde54321abcde12345abcde54
 */

另请参阅

esri_featurelayer_share - 此 AutoLISP 函数基于一个或多个指定的有效文档要素图层创建托管要素图层。