• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# SiteExtensions.SiteExtensionInfo类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Kudu.Contracts.SiteExtensions.SiteExtensionInfo的典型用法代码示例。如果您正苦于以下问题:C# SiteExtensionInfo类的具体用法?C# SiteExtensionInfo怎么用?C# SiteExtensionInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SiteExtensionInfo类属于Kudu.Contracts.SiteExtensions命名空间,在下文中一共展示了SiteExtensionInfo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: InstallExtension

        public SiteExtensionInfo InstallExtension(string id, SiteExtensionInfo requestInfo)
        {
            if (requestInfo == null)
            {
                requestInfo = new SiteExtensionInfo();
            }

            SiteExtensionInfo extension;

            try
            {
                extension = _manager.InstallExtension(id, requestInfo.Version, requestInfo.FeedUrl);
            }
            catch (WebException e)
            {
                // This can happen for example if a bad feed URL is passed
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Site extension download failure", e));
            }
            catch (Exception e)
            {
                // This can happen for example if the exception package is corrupted
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Site extension install exception. The package might be invalid.", e));
            }

            if (extension == null)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Could not find " + id));
            }

            return extension;
        }
开发者ID:xt0rted,项目名称:kudu,代码行数:31,代码来源:SiteExtensionController.cs


示例2: InstallExtension

 public SiteExtensionInfo InstallExtension(SiteExtensionInfo info)
 {
     SiteExtensionInfo extension = _manager.InstallExtension(info);
     if (extension == null)
     {
         throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, info.ToString()));
     }
     return extension;
 }
开发者ID:hanwesh,项目名称:kudu,代码行数:9,代码来源:SiteExtensionController.cs


示例3: InstallExtension

        public async Task<HttpResponseMessage> InstallExtension(string id, SiteExtensionInfo requestInfo)
        {
            var startTime = DateTime.UtcNow;
            if (requestInfo == null)
            {
                requestInfo = new SiteExtensionInfo();
            }

            SiteExtensionInfo result;

            try
            {
                result = await _manager.InstallExtension(id, requestInfo.Version, requestInfo.FeedUrl);
            }
            catch (WebException e)
            {
                // This can happen for example if a bad feed URL is passed
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Site extension download failure", e));
            }
            catch (Exception e)
            {
                // This can happen for example if the exception package is corrupted
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Site extension install exception. The package might be invalid.", e));
            }

            if (result == null)
            {
                throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Could not find " + id));
            }

            // TODO: xiaowu, when update to real csm async, should return "Accepted" instead of "OK"
            var responseMessage = Request.CreateResponse(HttpStatusCode.OK, ArmUtils.AddEnvelopeOnArmRequest<SiteExtensionInfo>(result, Request));

            if (result != null  // result not null indicate instalation success, when move to async operation, will relying on provisionState instead
                && result.InstalledDateTime.HasValue
                && result.InstalledDateTime.Value > startTime
                && ArmUtils.IsArmRequest(Request))
            {
                // Populate this header if 
                //      Request is from ARM
                //      Installation action is performed
                responseMessage.Headers.Add("X-MS-SITE-OPERATION", Constants.SiteOperationRestart);
            }

            return responseMessage;
        }
开发者ID:HenrikFrystykNielsen,项目名称:kudu,代码行数:46,代码来源:SiteExtensionController.cs


示例4: SiteExtensionInfo

 public SiteExtensionInfo(SiteExtensionInfo info)
 {
     Id = info.Id;
     Title = info.Title;
     Type = info.Type;
     Summary = info.Summary;
     Description = info.Description;
     Version = info.Version;
     ExtensionUrl = info.ExtensionUrl;
     ProjectUrl = info.ProjectUrl;
     IconUrl = info.IconUrl;
     LicenseUrl = info.LicenseUrl;
     Authors = info.Authors;
     PublishedDateTime = info.PublishedDateTime;
     IsLatestVersion = info.IsLatestVersion;
     DownloadCount = info.DownloadCount;
     LocalIsLatestVersion = info.LocalIsLatestVersion;
     LocalPath = info.LocalPath;
     InstalledDateTime = info.InstalledDateTime;
 }
开发者ID:kleberimeusp,项目名称:kudu,代码行数:20,代码来源:SiteExtensionInfo.cs


示例5: ConvertLocalPackageToSiteExtensionInfo

        private async Task<SiteExtensionInfo> ConvertLocalPackageToSiteExtensionInfo(UIPackageMetadata package, bool checkLatest, ITracer tracer = null)
        {
            if (package == null)
            {
                return null;
            }

            var info = new SiteExtensionInfo(package);
            if (IsInstalledToWebRoot(info.Id))
            {
                info.Type = SiteExtensionInfo.SiteExtensionType.WebRoot;
            }

            SetLocalInfo(info);
            await TryCheckLocalPackageLatestVersionFromRemote(info, checkLatest, tracer);
            return info;
        }
开发者ID:NorimaConsulting,项目名称:kudu,代码行数:17,代码来源:SiteExtensionManager.cs


示例6: ConvertRemotePackageToSiteExtensionInfo

        public SiteExtensionInfo ConvertRemotePackageToSiteExtensionInfo(IPackage package)
        {
            var info = new SiteExtensionInfo(package);

            IPackage localPackage = _localRepository.FindPackage(info.Id);
            if (localPackage != null)
            {
                UpdateLocalInfo(info);
                // Assume input package (from remote) is always the latest version.
                info.LocalIsLatestVersion = package.Version == localPackage.Version;
            }

            return info;
        }
开发者ID:jeddawson,项目名称:kudu,代码行数:14,代码来源:SiteExtensionManager.cs


示例7: CheckRemotePackageLatestVersion

        private async Task<SiteExtensionInfo> CheckRemotePackageLatestVersion(SiteExtensionInfo info, string feedUrl)
        {
            info.FeedUrl = feedUrl;
            UIPackageMetadata localPackage = await _localRepository.GetLatestPackageById(info.Id);

            if (localPackage != null)
            {
                SetLocalInfo(info);
                // Assume input package (from remote) is always the latest version.
                info.LocalIsLatestVersion = NuGetVersion.Parse(info.Version).Equals(localPackage.Identity.Version);
            }

            return info;
        }
开发者ID:NorimaConsulting,项目名称:kudu,代码行数:14,代码来源:SiteExtensionManager.cs


示例8: ConvertLocalPackageToSiteExtensionInfo

        private SiteExtensionInfo ConvertLocalPackageToSiteExtensionInfo(IPackage package, bool checkLatest)
        {
            if (package == null)
            {
                return null;
            }

            var info = new SiteExtensionInfo(package);

            SetLocalInfo(info);

            if (checkLatest)
            {
                // FindPackage gets back the latest version.
                IPackage latestPackage = GetRemoteRepository(info.FeedUrl).FindPackage(info.Id);
                if (latestPackage != null)
                {
                    info.LocalIsLatestVersion = package.Version == latestPackage.Version;
                    info.DownloadCount = latestPackage.DownloadCount;
                    info.PublishedDateTime = latestPackage.Published;
                }
            }

            return info;
        }
开发者ID:xt0rted,项目名称:kudu,代码行数:25,代码来源:SiteExtensionManager.cs


示例9: SetPreInstalledExtensionInfo

        private static void SetPreInstalledExtensionInfo(SiteExtensionInfo info)
        {
            string directory = GetPreInstalledDirectory(info.Id);

            if (FileSystemHelpers.DirectoryExists(directory))
            {
                if (info.Type == SiteExtensionInfo.SiteExtensionType.PreInstalledMonaco)
                {
                    info.Version = GetPreInstalledLatestVersion(directory);
                }
                else if (info.Type == SiteExtensionInfo.SiteExtensionType.PreInstalledEnabled)
                {
                    info.Version = typeof(SiteExtensionManager).Assembly.GetName().Version.ToString();
                }

                info.PublishedDateTime = FileSystemHelpers.GetLastWriteTimeUtc(directory);
            }
            else
            {
                info.Version = null;
                info.PublishedDateTime = null;
            }

            info.LocalIsLatestVersion = true;
        }
开发者ID:xt0rted,项目名称:kudu,代码行数:25,代码来源:SiteExtensionManager.cs


示例10: EnablePreInstalledExtension

        private SiteExtensionInfo EnablePreInstalledExtension(SiteExtensionInfo info)
        {
            string id = info.Id;
            string installationDirectory = GetInstallationDirectory(id);

            try
            {
                if (FileSystemHelpers.DirectoryExists(installationDirectory))
                {
                    FileSystemHelpers.DeleteDirectorySafe(installationDirectory);
                }

                if (ExtensionRequiresApplicationHost(info))
                {
                    if (info.Type == SiteExtensionInfo.SiteExtensionType.PreInstalledMonaco)
                    {
                        GenerateApplicationHostXdt(installationDirectory,
                            _preInstalledExtensionDictionary[id].ExtensionUrl, isPreInstalled: true);
                    }
                }
                else
                {
                    FileSystemHelpers.CreateDirectory(installationDirectory);
                }
            }
            catch (Exception ex)
            {
                ITracer tracer = _traceFactory.GetTracer();
                tracer.TraceError(ex);
                FileSystemHelpers.DeleteDirectorySafe(installationDirectory);
                return null;
            }

            return GetPreInstalledExtension(id);
        }
开发者ID:xt0rted,项目名称:kudu,代码行数:35,代码来源:SiteExtensionManager.cs


示例11: GetUrlFromApplicationHost

        private static string GetUrlFromApplicationHost(SiteExtensionInfo info)
        {
            try
            {
                var appHostDoc = new XmlDocument();
                appHostDoc.Load(Path.Combine(info.LocalPath, _applicationHostFile));

                // Get the 'path' property of the first 'application' element, which is the relative url.
                XmlNode pathPropertyNode = appHostDoc.SelectSingleNode("//application[@path]/@path");

                return pathPropertyNode.Value;
            }
            catch (SystemException)
            {
                return null;
            }
        }
开发者ID:xt0rted,项目名称:kudu,代码行数:17,代码来源:SiteExtensionManager.cs


示例12: FillSiteExtensionInfo

 public void FillSiteExtensionInfo(SiteExtensionInfo info, string defaultProvisionState = null)
 {
     info.ProvisioningState = ProvisioningState ?? defaultProvisionState;
     info.Comment = Comment;
 }
开发者ID:NorimaConsulting,项目名称:kudu,代码行数:5,代码来源:SiteExtensionStatus.cs


示例13: ReadSiteExtensionInfo

 public void ReadSiteExtensionInfo(SiteExtensionInfo info)
 {
     ProvisioningState = info.ProvisioningState;
     Comment = info.Comment;
 }
开发者ID:NorimaConsulting,项目名称:kudu,代码行数:5,代码来源:SiteExtensionStatus.cs


示例14: ExtensionRequiresApplicationHost

 private static bool ExtensionRequiresApplicationHost(SiteExtensionInfo info)
 {
     string appSettingName = info.Id.ToUpper(CultureInfo.CurrentCulture) + "_EXTENSION_VERSION";
     return ConfigurationManager.AppSettings[appSettingName] != "beta";
 }
开发者ID:projectkudu,项目名称:kudu,代码行数:5,代码来源:SiteExtensionManager.cs


示例15: InstallExtension

 public async Task<SiteExtensionInfo> InstallExtension(SiteExtensionInfo info)
 {
     return await Client.PostJsonAsync<SiteExtensionInfo, SiteExtensionInfo>(String.Empty, info);
 }
开发者ID:hanwesh,项目名称:kudu,代码行数:4,代码来源:RemoteSiteExtensionManager.cs


示例16: SetLocalInfo

        private void SetLocalInfo(SiteExtensionInfo info)
        {
            string localPath = GetInstallationDirectory(info.Id);
            if (FileSystemHelpers.DirectoryExists(localPath))
            {
                info.LocalPath = localPath;
                info.InstalledDateTime = FileSystemHelpers.GetLastWriteTimeUtc(info.LocalPath);
            }

            if (ExtensionRequiresApplicationHost(info))
            {
                info.ExtensionUrl = FileSystemHelpers.FileExists(Path.Combine(localPath, Constants.ApplicationHostXdtFileName))
                    ? GetFullUrl(GetUrlFromApplicationHost(info)) : null;
            }
            else
            {
                info.ExtensionUrl = String.IsNullOrEmpty(info.LocalPath) ? null : GetFullUrl(info.ExtensionUrl);
            }

            foreach (var setting in GetSettingManager(info.Id).GetValues())
            {
                if (String.Equals(setting.Key, _feedUrlSetting, StringComparison.OrdinalIgnoreCase))
                {
                    info.FeedUrl = setting.Value.Value<string>();
                }
                else if (String.Equals(setting.Key, _installUtcTimestampSetting, StringComparison.OrdinalIgnoreCase))
                {
                    DateTime installedDateTime;
                    if (DateTime.TryParse(setting.Value.Value<string>(), out installedDateTime))
                    {
                        info.InstalledDateTime = installedDateTime.ToUniversalTime();
                    }
                }
            }
        }
开发者ID:projectkudu,项目名称:kudu,代码行数:35,代码来源:SiteExtensionManager.cs


示例17: InstallExtension

 public SiteExtensionInfo InstallExtension(SiteExtensionInfo info)
 {
     return InstallExtension(info.Id);
 }
开发者ID:jeddawson,项目名称:kudu,代码行数:4,代码来源:SiteExtensionManager.cs


示例18: ConvertLocalPackageToSiteExtensionInfo

        public SiteExtensionInfo ConvertLocalPackageToSiteExtensionInfo(IPackage package, bool checkLatest = true)
        {
            var info = new SiteExtensionInfo(package);

            UpdateLocalInfo(info);
            if (checkLatest)
            {
                // FindPackage gets back the latest version.
                IPackage latestPackage = _remoteRepository.FindPackage(info.Id);
                info.LocalIsLatestVersion = package.Version == latestPackage.Version;
            }

            return info;
        }
开发者ID:jeddawson,项目名称:kudu,代码行数:14,代码来源:SiteExtensionManager.cs


示例19: TryCheckLocalPackageLatestVersionFromRemote

 private async Task TryCheckLocalPackageLatestVersionFromRemote(SiteExtensionInfo info, bool checkLatest, ITracer tracer = null)
 {
     if (checkLatest)
     {
         try
         {
             // FindPackage gets back the latest version.
             SourceRepository remoteRepo = GetRemoteRepository(info.FeedUrl);
             UIPackageMetadata latestPackage = await remoteRepo.GetLatestPackageById(info.Id);
             if (latestPackage != null)
             {
                 NuGetVersion currentVersion = NuGetVersion.Parse(info.Version);
                 info.LocalIsLatestVersion = NuGetVersion.Parse(info.Version).Equals(latestPackage.Identity.Version);
                 info.DownloadCount = latestPackage.DownloadCount;
                 info.PublishedDateTime = latestPackage.Published;
             }
         }
         catch (Exception ex)
         {
             if (tracer != null)
             {
                 tracer.TraceError(ex);
             }
         }
     }
 }
开发者ID:NorimaConsulting,项目名称:kudu,代码行数:26,代码来源:SiteExtensionManager.cs


示例20: SetLocalInfo

        private void SetLocalInfo(SiteExtensionInfo info)
        {
            string localPath = GetInstallationDirectory(info.Id);
            if (FileSystemHelpers.DirectoryExists(localPath))
            {
                info.LocalPath = localPath;
                info.InstalledDateTime = FileSystemHelpers.GetLastWriteTimeUtc(info.LocalPath);
            }

            if (ExtensionRequiresApplicationHost(info))
            {
                if (FileSystemHelpers.FileExists(Path.Combine(localPath, _applicationHostFile)))
                {
                    info.ExtensionUrl = GetFullUrl(GetUrlFromApplicationHost(info));
                }
                else
                {
                    info.ExtensionUrl = null;
                }
            }
            else
            {
                if (!String.IsNullOrEmpty(info.LocalPath))
                {
                    info.ExtensionUrl = GetFullUrl(info.ExtensionUrl);
                }
                else
                {
                    info.ExtensionUrl = null;
                }
            }
        }
开发者ID:40a,项目名称:kudu,代码行数:32,代码来源:SiteExtensionManager.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Deployment.DeploymentContext类代码示例发布时间:2022-05-26
下一篇:
C# KopiLua.LuaState类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap