首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Asp.Net配置文件提供程序迁移到MVC中(扩展不起作用)

将Asp.Net配置文件提供程序迁移到MVC中(扩展不起作用)
EN

Stack Overflow用户
提问于 2015-02-17 18:12:33
回答 1查看 310关注 0票数 1

我正在尝试更新一个Asp.Net网站,以使用MVC 5。有一个购物车组件,扩展了配置文件提供者。位于web.config中的xml似乎自动生成旧网站项目中的代码,该项目提供购物车属性,但在mvc版本中不执行任何操作。

代码语言:javascript
复制
   <!-- Profile provider -->
    <profile defaultProvider="SQLProfileProvider">
      <providers>
        <clear/>
        <add name="SQLProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      </providers>
      <properties>
        <!-- Define our shopping cart which is contained in customerManager and serialized as binary -->
        <add name="ShoppingCart" allowAnonymous="true" type="customerManager.ShoppingCart, customerManager" serializeAs="Binary"></add>
      </properties>
    </profile>

因此,以下代码失败:

代码语言:javascript
复制
Profile.ShoppingCart.AddItem(1500);

Error 3 'System.Web.Profile.ProfileBase‘不包含'ShoppingCart’的定义,也找不到接受'System.Web.Profile.ProfileBase‘类型的第一个参数的扩展方法'ShoppingCart’(您缺少使用指令还是程序集引用?)D:\VirtualWeb2\VirtualWeb2\Controllers\AccountController.cs 92 29 VirtualWeb2

购物车的原始代码位于一个独立的DLL中,但是如果我真的需要的话,我可以访问源代码。如果可能的话,我更愿意通过配置来处理它。

我在网上看过很多帖子,但找不到任何涉及我同样情况的内容。知道为什么这个"ShoppingCart“属性在构建mvc项目时不自动生成,而是在asp net web窗体网站中工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-17 19:17:21

KingOfHypocrites回答(来自评论):

代码语言:javascript
复制
public static ShoppingCart GetCart(this Controller c) 
{ 
    var cart = c.Profile["ShoppingCart"]; 
    return (customerManager.ShoppingCart)cart; 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28568213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档