我想在ASP.Net Web API中创建一个自定义模型绑定器.有关如何从头开始执行此操作的大量资源,但我想利用现有功能.
我在codeplex中查看了源代码,可以在那里看到大量的模型绑定器,但大多数是密封的......即使这样,我也无法确定在哪种情况下使用哪一个.
这是我的api方法标题:
public async Task<HttpResponseMessage> Post(long appId, [FromBody]Field field)
Run Code Online (Sandbox Code Playgroud)
我想要做的是基本上在填充所有基本属性后拦截模型绑定器,然后根据我将在客户端设置的http请求标头设置一些额外的值.
正如我所说,我很乐意创建自定义模型绑定器和模型绑定器并将它们连接起来,我遇到问题的是试图重用现有的功能.
谢谢,皮特
我想流式传输一个音频mp3文件然后通过Android媒体播放器播放它我还想缓存这个文件,这样媒体播放器就不必为最近播放的曲目流播放了.
我尝试过使用prepareAsync方法,但它不允许我访问缓冲区内容,因此我决定自己流式传输音频文件,然后将其传递给媒体播放器进行播放.我已经通过这篇文章来实现这一点,但这种方法存在一个问题,即在将文件传输到媒体播放器时,它会进入错误模式,导致我的播放器表现不一致.
当媒体播放器进入其错误模式时,它不会自动退出,因此我被迫创建一个新的媒体播放器,然后重新提供下载的文件,这种解决方法会导致用户在播放歌曲时遇到不希望的暂停.
那么,是否有人改进了上述链接中给出的代码版本?或者他们是否知道这个问题的更好的解决方案,或者实际上有一个用于在Android中传输音频文件的库?
谢谢
我在使用ASP.NET WebAPI中的UriPathExtensionMapping时遇到问题.我的设置如下:
我的路线是:
config.Routes.MapHttpRoute(
name: "Api UriPathExtension",
routeTemplate: "api/{controller}.{extension}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "Api UriPathExtension ID",
routeTemplate: "api/{controller}/{id}.{extension}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
我的全局ASAX文件是:
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Run Code Online (Sandbox Code Playgroud)
我的控制器是:
public IEnumerable<string> Get()
{
return new string[] { "Box", "Rectangle" };
}
// GET /api/values/5
public string Get(int id)
{
return "Box";
}
// POST /api/values
public void …Run Code Online (Sandbox Code Playgroud)