Share.Controller/DeviceAction.cs
(开头部分) 18KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Share.Communication;
using Share.Model;
using Share.Xml;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
/**************************************************************************
*
* =======================================================================
* 运行版本 : 4.0.30319.42000
* 命名空间 : Share.Controller
* 文件名称 : DeviceAction.cs
* =======================================================================
* 创 建 者 : Besion
* 创建日期 : 2019/9/11 18:05:48
* 邮箱地址 : 986905389@qq.com
* 个人主站 : /
* 功能描述 : 建设中...
* 使用说明 :
*
***************************************************************************/
namespace Share.Controller
{
public class DeviceAction
{
public event EventHandler<WindowsMediaArgs> WindowsMediaCallBack;
public void Post(HttpRequestEventArgs e)
{
string serviceType = Xml.ConfigManager.Instance.GetDevice().SelectByValue(e.Uri)[0].Parent.Element(Xml.ConfigManager.Instance.GetDevice().SelectByValue(e.Uri)[0].Name.Namespace + "serviceType").Value;
HttpResponseEventArgs res = new HttpResponseEventArgs();
res.EXT = "";
res.Date = DateTime.Now.ToUniversalTime().ToString("r");
res.Content_Length = "0";
res.Content_Type = e.Content_Type;
res.Connection = e.Connection;
res.Server = "UPnP/1.0 DLNADOC/1.50 Platinum/1.0.4.11";
XElement action = e.XData.SelectByKey(e.ActionName)[0];
XName name = action.Name;
action.Name = name.Namespace + name.LocalName + "Response";
XNamespace space = name.Namespace;
var scpd = Xml.ConfigManager.Instance.ParametersDic[serviceType];
var paramList = scpd.Where(q => q.ActionName == e.ActionName).ToList();
CommonLibrary.Reflection.Instance.GetMethodReflection(this, e.ActionName, new Type[] { typeof(XElement), typeof(List<ParameterInfo>) })?.Invoke(this, new object[] { action, paramList });
byte[] data = Encoding.UTF8.GetBytes(e.XData.ToString().Replace("\r\n", ""));
res.Content_Length = data.Length.ToString();
后面还有 318 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读 AI
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
