سؤال

أنا أستخدم MVC .NET في بيئة موزعة مع CSLA وأنا يمكن مرجع httpPostEdfileBase من واحدة من طبقات الويب الخاصة بي (مثل موقع الويب. mvc)، لكنني لا تستطيع مرجع HttpPostEdfileBase من طبقة منفصلة (يتيح الاتصال به OtherLayer.Web).

أي فكرة حول ما يجب علي فعله لتكون قادرة على الاتصال httppostedfilebase؟ أنا قادر على استخدام httppostedfile في كلتا الطبقتين - هل يجب علي استخدام هذا بدلا من ذلك؟

مراجع الجمعية هي أساسا نفس الشيء - في موقع الويب. MVC لدي:

namespace Website.Mvc.Controllers
{
  using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Web.Mvc;
  using System.Web;
  using System.IO;
  using PetOrganizer.Mvc.Helpers;
  using TrupanionPetInsurance.Web;

بينما في طبقة أخرى لدي:

namespace OtherLayer.Web
{
  using System;
  using System.Collections;
  using System.Collections.Generic;
  using System.Collections.Specialized;
  using System.Data;
  using System.Data.SqlClient;
  using System.IO;
  using System.Net.Mail;
  using System.Text;
  using System.Text.RegularExpressions; 
  using System.Web;
  using System.Web.Mvc;
  using System.Web.Security;
  using System.Xml;
  using System.Xml.Serialization;
  using Csla;
  using iTextSharp.text;
  using iTextSharp.text.pdf;
  using TruDat.BusinessLayer;
  using TruDat.BusinessLayer.Billing;
  using TruDat.BusinessLayer.Data;
  using TruDat.BusinessLayer.Utility;
  using TrupanionPetInsurance.Web.EmailTemplateParser;
  using TruDat.BusinessLayer.DataServices;
هل كانت مفيدة؟

المحلول

تأكد من مراجع مشروعك System.Web.Abstractions التجمع الذي يحتوي على HttpPostedFileBase اكتب.

كما مربكة كما قد يبدو، HttpPostedFile اكتب حياة في مجموعة منفصلة (System.Web) ولكن نفس مساحة الاسم بالضبط.

من المهم أن نتذكر أن المسامحات السمعية يمكن أن يسبق التجميعات واسم التجمع لا يملي بالضرورة مساحة اسم الأساس الأنواع الواردة فيه. لا يوجد System.Web.Abstractions مساحة الاسم ببساطة اثنين من التجمعات التي تحتوي على أنواع في System.Web مساحة الاسم.

بمجرد الإشارة إلى كلا الجمعيات، يمكنك الرجوع إلى كلا النوعين من خلال أسماءهم غير المؤهلين مع هذا العبارة الواحدة باستخدام:

using System.Web;

نصائح أخرى

تأكد من أن مشروعك يشير إلى مجموعة SYSTEM.WEB.ABStractions التي تحتوي على نوع httppostedfilebase.

شكرا، أندرو الأرنب، التي فعلت الخدعة، ومع ذلك أعتقد أنه من .NET 4.0 وهلم جرا، يتم إهمال System.Web.Abstractions، ويجب عليك إضافة إشارة إلى System.Web بدلا من ذلك.

في حالتي، كان هذا هو الحل النهائي، بعد ذلك

using System.Web;

عملت، وبالتالي، تم التعرف على httppostedfilebase.

شكرا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top