Utorrent 的 ASP.NET/AJAX 界面






4.36/5 (6投票s)
utorrent 应用程序的 ASP.NET/AJAX 界面。
引言
我最近发现 bittorrent 应用程序 µtorrent
包含一个 Web 界面。我最终将其运行起来,并认为它非常棒。我想自定义它,让它成为我自己的。于是,我在网上搜索,偶然发现了一组 C# 类,它们可以挂接到官方 µtorrent
Web UI。原始帖子位于此处。在同一个帖子中,还有一篇关于使用 C# 类的 ASP.NET 界面的帖子。我测试了一下,并认为我可以构建自己的,克服它的一些怪癖。我还认为这将是对 AJAX 可能性的测试。
背景
运行起来应该相当直接。需要的是 IIS、.NET 3.5 和一个启用 Web UI 的较新版本的 µtorrent
。如果您在运行站点时遇到问题,您可能还需要AJAX Control Toolkit。还有一个 Windows 服务,可以收集每个 torrent 的统计信息。
屏幕截图
Using the Code
要开始,请将文件复制到服务器的目录。确保该目录配置为应用程序。打开 Web 浏览器,将其指向您创建的目录的 URL。应用程序首次运行时,它会检测到设置无效,并提示您输入。完成后,单击“保存”按钮以提交更改。如果您想加密 web.config 中的信息,可以单击“设置”页面上的“链接按钮”。如果您单击它并完成确认,web.config 的 appSettings
部分将被加密。
我决定使用此项目的 HTTP 压缩功能,希望能够加快速度。
我还添加了一个极其简单的 HttpModule
来处理安全性,因为我不想干扰或依赖 IIS 安全性。在共享托管环境中,您可能也无法轻松访问该功能。web.config 包含一个 accesslist
设置,它是一个逗号分隔的 string
,包含可以访问站点的 IP 地址。如果不需要此功能,那么您只需删除 web.config 中的 SecurityHttpModule
条目,或者将“设置”页面上的条目留空。
我已更新本文,包括一个 Windows 服务,用于收集每个 torrent 的统计信息。服务的安装非常简单。该应用程序可以作为控制台应用程序运行,也可以作为 Windows 服务运行。我从这个 Code Project 文章中获得了这个想法。要作为控制台应用程序运行,请在不带任何参数的情况下运行应用程序。要作为服务运行应用程序,请使用 –service
参数运行它。要从系统中删除该服务,请使用 –removeservice
参数运行应用程序。
要安装,请将编译后的二进制文件和应用程序配置文件提取到目录中。根据需要设置应用程序配置文件。将应用程序安装为服务(运行一次并带 –service
参数)或设置任务计划程序任务以在不带任何参数的情况下执行应用程序。
最后一个选项需要考虑。通过将 web.config 中的 debug 设置为 false
,可以大大提高站点的性能。这主要是由于 AJAX Control Toolkit 以及它发送到客户端的脚本有所不同。
仍然存在一些怪癖,但总的来说,它完成了任务;无论任务是什么!
特点
这是此项目的一些功能列表
- 使用 AJAX 显示来自
µtorrent
的数据,提供一个可以通过大多数浏览器访问的简单 Web 界面。 - 页面通过
UpdatePanels
由 AJAX Timer 控件更新。 GridView
支持在 Update Panel 中进行分页和排序。- 可以通过新文件或 URL 添加新的 torrent。
- 使用 Update Progress Control 在左上角显示一个 正在加载... 动画。可以通过样式表或主题进行配置。
- 我已将 Visual Studio 的所有自动格式化主题导入到 *.theme 文件中,以支持网站主题。
logviewer
包含一个GridView
,具有一个很棒的功能——过滤。每个列的唯一值显示在列标题的DropDownList
中,可用于过滤GridView
中的数据。- 创建了一个日志记录实用程序以方便日志记录。日志可以是制表符分隔的文本文件或 XML 文件。我包含了一个 XSLT 文件,用于将 XML 日志文件从基于元素转换为基于属性;一些控件(
GridView
等)偏好基于属性,而另一些控件(TreeView
)偏好基于元素。 如果您想将日志数据绑定到其他控件类型,这将是必需的。 - 创建了一个非常简单的安全实用程序,用于按 IP 地址过滤请求。
- 创建了一种从数据表中获取列的唯一值的方法。
- 每个 torrent 的历史统计数据。您可以按需选择 X 轴和 Y 轴。
关注点
目前还没有。欢迎评论和批评。