ASP.NET Web API控制器专用串行器
发布时间:2020-05-24 02:30:59 所属栏目:asp.Net 来源:互联网
导读:我有一个自己的主机Web API与2个控制器: 对于控制器1,我需要默认的DataContractSerializer(我正在暴露EF 5 POCO) 对于控制器2,我需要使用参数UseXmlSerializer设置为true(我暴露一个XmlDocument)的XmlFormatter, 我在控制器初始化期间尝试设置格式化程序,但
|
我有一个自己的主机Web API与2个控制器: >对于控制器1,我需要默认的DataContractSerializer(我正在暴露EF 5 POCO) 我在控制器初始化期间尝试设置格式化程序,但配置似乎是全局的,影响所有控制器: public class CustomConfigAttribute : Attribute,IControllerConfiguration
{
public void Initialize(HttpControllerSettings settings,HttpControllerDescriptor descriptor)
{
settings.Formatters.XmlFormatter.UseXmlSerializer = true;
}
}
我该如何解决? 解决方法你非常在正确的轨道上.但是您需要在配置属性中启动XmlMediaTypeFormatter的新实例,否则您将影响全局引用.您知道,您需要根据IControllerConfiguration接口创建2个属性. public class Controller1ConfigAttribute : Attribute,IControllerConfiguration
{
public void Initialize(HttpControllerSettings controllerSettings,HttpControllerDescriptor controllerDescriptor)
{
var xmlFormater = new XmlMediaTypeFormatter {UseXmlSerializer = true};
controllerSettings.Formatters.Clear();
controllerSettings.Formatters.Add(xmlFormater);
}
}
public class Controller2ConfigAttribute : Attribute,HttpControllerDescriptor controllerDescriptor)
{
var xmlFormater = new XmlMediaTypeFormatter();
controllerSettings.Formatters.Clear();
controllerSettings.Formatters.Add(xmlFormater);
}
}
然后用相关属性装饰你的控制器 [Controller1ConfigAttribute]
public class Controller1Controller : ApiController
{
[Controller2ConfigAttribute]
public class Controller2Controller : ApiController
{ (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 发布网站项目时Temp路径太长
- ASP.NET控件来渲染
- asp.net-mvc-4 – ASP.NET Web API架构建议/反馈
- asp.net – 在oauth身份验证后获取Twitter用户名
- asp.net – 使用Visual Studio 2012发布到azure时,我可以使
- asp.net-mvc – 为什么Nant不与TeamCity合作?
- asp.net – 从Google财经,雅虎金融或交易所获取股票报价
- asp.net – 如何在C#2.0中的Web.config中加密用户名和密码
- asp.net – 如何将转发器中Item的客户端ID传递给javascript
- asp.net-mvc – 使用ASP.NET MVC 3.0进行日期验证
推荐文章
站长推荐
- asp.net – MVC 4数据注释“显示”属性
- asp.net – Orchard CMS是否支持移动呈现?
- 使用ASP.NET Web API进行OAuth Facebook身份验证
- asp.net-mvc – 当tryUpdateModel无法在asp.net
- asp.net-mvc – CloudFlare SSL与ASP.NET MVC Re
- asp.net – 将特定文件夹映射到web.config中的Ht
- asp.net – RadGrid在Visual Studio 2013中打开应
- asp.net-mvc – Microsoft.Owin.Security.IAuthe
- .net-core – 用于.NET Core控制台应用程序的ASP
- asp.net-ajax – 如何在ASP.NET AJAX中实现文件下
热点阅读
