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


C# HttpServer.RegisterMediaServer方法代码示例

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


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

示例1: Main

        private static void Main(string[] args)
        {
            Console.WriteLine();
              var options = new Options();
              try {
            Console.TreatControlCAsInput = false;
            Console.CancelKeyPress += CancelKeyPressed;

            options.Parse(args);
            if (options.ShowHelp) {
              options.PrintUsage();
              return;
            }
            if (options.ShowVersion) {
              ShowVersion();
              return;
            }
            if (options.ShowLicense) {
              ShowLicense();
              return;
            }
            if (options.ListViews) {
              ListViews();
              return;
            }
            if (options.ListOrders) {
              ListOrders();
              return;
            }
            if (options.Directories.Length == 0) {
              throw new GetOptException("No directories specified");
            }

            options.SetupLogging();

            using (var icon = new ProgramIcon()) {
              var server = new HttpServer(options.Port);
              try {
            using (var authorizer = new HttpAuthorizer(server)) {
              if (options.Ips.Length != 0) {
                authorizer.AddMethod(new IPAddressAuthorizer(options.Ips));
              }
              if (options.Macs.Length != 0) {
                authorizer.AddMethod(new MacAuthorizer(options.Macs));
              }
              if (options.UserAgents.Length != 0) {
                authorizer.AddMethod(
                  new UserAgentAuthorizer(options.UserAgents));
              }

              Console.Title = "SimpleDLNA - starting ...";

              var types = options.Types[0];
              foreach (var t in options.Types) {
                types = types | t;
                server.Logger.InfoFormat("Enabled type {0}", t);
              }

              var friendlyName = "sdlna";

              if (options.Seperate) {
                foreach (var d in options.Directories) {
                  server.Logger.InfoFormat("Mounting FileServer for {0}", d.FullName);
                  var fs = SetupFileServer(
                    options, types, new DirectoryInfo[] { d });
                  friendlyName = fs.FriendlyName;
                  server.RegisterMediaServer(fs);
                  server.Logger.NoticeFormat("{0} mounted", d.FullName);
                }
              }
              else {
                server.Logger.InfoFormat(
                  "Mounting FileServer for {0} ({1})",
                  options.Directories[0], options.Directories.Length);
                var fs = SetupFileServer(options, types, options.Directories);
                friendlyName = fs.FriendlyName;
                server.RegisterMediaServer(fs);
                server.Logger.NoticeFormat(
                  "{0} ({1}) mounted",
                  options.Directories[0], options.Directories.Length);
              }

              Console.Title = String.Format("{0} - running ...", friendlyName);

              Run(server);
            }
              }
              finally {
            server.Dispose();
              }
            }
              }
              catch (GetOptException ex) {
            Console.Error.WriteLine("Error: {0}\n\n", ex.Message);
            options.PrintUsage();
              }
            #if !DEBUG
              catch (Exception ex) {
            LogManager.GetLogger(typeof(Program)).Fatal("Failed to run", ex);
              }
//.........这里部分代码省略.........
开发者ID:vitska,项目名称:simpleDLNA,代码行数:101,代码来源:Program.cs


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