当前位置: 首页>>代码示例>>C#>>正文


C# HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary方法代码示例

本文整理汇总了C#中System.Web.HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary方法的典型用法代码示例。如果您正苦于以下问题:C# HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary方法的具体用法?C# HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary怎么用?C# HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Web.HttpContextBase的用法示例。


在下文中一共展示了HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Create

		private void Create(HttpContextBase context)
		{
			var parent = Selection.ParseSelectionFromRequest();
			if (parent == null)
				throw new HttpException((int)HttpStatusCode.NotFound, "Not Found");

			var discriminator = context.Request["discriminator"];
			var definition = engine.Definitions.GetDefinition(discriminator);

			var item = engine.Resolve<ContentActivator>().CreateInstance(definition.ItemType, parent);

			var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
			foreach (var kvp in requestBody)
				item[kvp.Key] = kvp.Value;

			engine.Persister.Save(item);
		}
开发者ID:nikita239,项目名称:Aspect,代码行数:17,代码来源:ContentHandler.cs

示例2: Update

		private void Update(HttpContextBase context)
		{
			var item = Selection.ParseSelectionFromRequest();
			if (item == null)
				throw new HttpException((int)HttpStatusCode.NotFound, "Not Found");

			var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
			foreach (var kvp in requestBody)
				item[kvp.Key] = kvp.Value;

			engine.Persister.Save(item);
		}
开发者ID:nikita239,项目名称:Aspect,代码行数:12,代码来源:ContentHandler.cs

示例3: Autosave

		private void Autosave(HttpContextBase context)
		{
			var selected = Selection.ParseSelectionFromRequest();
			if (selected == null)
				throw new HttpException((int)HttpStatusCode.NotFound, "Not Found");

			var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
			var discriminator = EditExtensions.GetDiscriminator(context.Request);

			var versions = engine.Resolve<VersionManager>();
			ContentItem item;
			if (string.IsNullOrEmpty(discriminator))
			{
				item = selected;
				if (item.State != ContentState.Draft)
					item = versions.GetOrCreateDraft(item);

				Update(requestBody, item);

				if (item.ID == 0 && item.VersionOf.HasValue)
					versions.UpdateVersion(item);
				else
					engine.Persister.Save(item);
			}
			else
			{
				int id;
				if (requestBody.ContainsKey("ID") && (id = (int)requestBody["ID"]) != 0)
				{
					item = engine.Persister.Get(id);
				}
				else
				{
					item = engine.Resolve<IDefinitionManager>().GetDefinition(discriminator).CreateInstance(selected);
					item.State = ContentState.Draft;
				}

				Update(requestBody, item);

				if (item.ID == 0 && (item.VersionOf.HasValue || !item.IsPage))
					versions.UpdateVersion(item);
				else
					engine.Persister.Save(item);
			}

			context.Response.WriteJson(new
			{
				ID = item.VersionOf.ID ?? item.ID,
				VersionIndex = item.VersionIndex,
				Path = item.Path,
				PreviewUrl = item.Url,
				Permission = engine.ResolveAdapter<NodeAdapter>(item).GetMaximumPermission(item),
				Permissions = engine.SecurityManager.GetPermissions(context.User, item),
				Draft = new DraftInfo { ItemID = item.VersionOf.ID ?? item.ID, Saved = item.Updated, SavedBy = item.SavedBy, VersionIndex = item.VersionIndex },
				Node = engine.ResolveAdapter<NodeAdapter>(item.VersionOf.Value ?? item).GetTreeNode(item.VersionOf.Value ?? item)
			});
		}
开发者ID:nikita239,项目名称:Aspect,代码行数:57,代码来源:ContentHandler.cs

示例4: Autosave

		private void Autosave(HttpContextBase context)
		{
			var selected = Selection.ParseSelectionFromRequest();
			if (selected == null)
				throw new HttpException((int)HttpStatusCode.NotFound, "Not Found");

			var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
			var discriminator = EditExtensions.GetDiscriminator(context.Request);

			ContentItem item;
			if (string.IsNullOrEmpty(discriminator))
			{
				item = selected;
				var versions = engine.Resolve<VersionManager>();
				if (item.State != ContentState.Draft)
					item = versions.GetOrCreateDraft(item);

				Update(requestBody, item);

				if (item.ID == 0 && item.VersionOf.HasValue)
					versions.UpdateVersion(item);
				else
				{
					engine.Persister.Repository.SaveOrUpdate(item);
					engine.Persister.Repository.Flush();
				}
			}
			else
			{
				int id;
				if (requestBody.ContainsKey("ID") && (id = (int)requestBody["ID"]) != 0)
				{
					item = engine.Persister.Get(id);
				}
				else
				{
					item = engine.Resolve<IDefinitionManager>().GetDefinition(discriminator).CreateInstance(selected);
					item.State = ContentState.Draft;
				}

				Update(requestBody, item);

				bool itemNeedsResaveWithIdGeneratedName = string.IsNullOrEmpty(item.Name);
				engine.Persister.Repository.SaveOrUpdate(item);
				engine.Persister.Repository.Flush();
				if (itemNeedsResaveWithIdGeneratedName)
					engine.Persister.Repository.Flush();
			}

			context.Response.WriteJson(new { ID = item.VersionOf.ID ?? item.ID, VersionIndex = item.VersionIndex });
		}
开发者ID:andyhebear,项目名称:n2cms,代码行数:51,代码来源:ContentHandler.cs

示例5: Autosave

		private void Autosave(HttpContextBase context)
		{
			var selected = Selection.ParseSelectionFromRequest();
			if (selected == null)
				throw new HttpException((int)HttpStatusCode.NotFound, "Not Found");

			var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
			var discriminator = EditExtensions.GetDiscriminator(context.Request);

			var versions = engine.Resolve<VersionManager>();
			ContentItem item;
			if (string.IsNullOrEmpty(discriminator))
			{
				item = selected;
				if (item.State != ContentState.Draft)
					item = versions.GetOrCreateDraft(item);

				Update(requestBody, item);
				var page = Find.ClosestPage(item);

				// existing page
				// draft of existing page
				// existing part
				// draft of existing part
				if (item.VersionOf.HasValue)
					versions.UpdateVersion(item);
				else if (page != null && page.VersionOf.HasValue)
					versions.UpdateVersion(item);
				else
					engine.Persister.Save(item);
			}
			else
			{
				var parent = selected;

				int id;
				if (requestBody.ContainsKey("ID") && (id = (int)requestBody["ID"]) != 0)
				{
					item = engine.Persister.Get(id);
				}
				else
				{
					var definitions = engine.Resolve<IDefinitionManager>();
					var definition = definitions.GetDefinition(discriminator);

					if (!definition.IsPage)
					{
						if (parent.ID != 0 && !parent.VersionOf.HasValue)
						{
							parent = versions.GetOrCreateDraft(parent);
						}
					}

					var templateKey = context.Request["template"];
					var zoneName = context.Request["zoneName"];

					item = engine.Resolve<ContentActivator>().CreateInstance(definition.ItemType, parent, templateKey);
					item.State = ContentState.Draft;
					item.ZoneName = zoneName;
					item.AddTo(parent);
				}

				Update(requestBody, item);

				// new page
				// new part

				if (item.ID == 0 && (item.VersionOf.HasValue || !item.IsPage))
					versions.UpdateVersion(item);
				else
					engine.Persister.Save(item);
			}

			context.Response.WriteJson(new
			{
				EditUrl = engine.ManagementPaths.GetEditExistingItemUrl(item, context.Request["returnUrl"]),
				PageID = Find.ClosestPage(item)?.VersionOf?.ID ?? Find.ClosestPage(item)?.ID,
				ID = item.VersionOf.ID ?? item.ID,
				VersionIndex = item.VersionIndex,
				VersionKey = item.GetVersionKey(),
				Selected = context.Request[PathData.SelectedQueryKey],
				Path = item.Path,
				PreviewUrl = item.Url,
				Permission = engine.ResolveAdapter<NodeAdapter>(item).GetMaximumPermission(item),
				Permissions = engine.SecurityManager.GetPermissions(context.User, item),
				Draft = new DraftInfo { ItemID = item.VersionOf.ID ?? item.ID, Saved = item.Updated, SavedBy = item.SavedBy, VersionIndex = item.VersionIndex },
				Node = engine.ResolveAdapter<NodeAdapter>(item.VersionOf.Value ?? item).GetTreeNode(item.VersionOf.Value ?? item)
			});
		}
开发者ID:n2cms,项目名称:n2cms,代码行数:89,代码来源:ContentHandler.cs

示例6: Patch

 private void Patch(HttpContextBase context)
 {
     var requestBody = context.GetOrDeserializeRequestStreamJsonDictionary<object>();
     var user = GetUser(context.User);
     if (requestBody.ContainsKey("Settings") && requestBody["Settings"] is IDictionary<string, object>)
         foreach (var kvp in (IDictionary<string, object>)requestBody["Settings"])
         {
             if (kvp.Value != null)
                 user.Settings[kvp.Key] = kvp.Value;
             else
                 user.Settings.Remove(kvp.Key);
         }
     repository.Save(user);
     context.Response.WriteJson(new { User = user });
 }
开发者ID:nicklv,项目名称:n2cms,代码行数:15,代码来源:ProfileHandler.cs


注:本文中的System.Web.HttpContextBase.GetOrDeserializeRequestStreamJsonDictionary方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。