C # - لا أستطيع الرجوع إلى httppostedfilebase
-
19-09-2019 - |
سؤال
أنا أستخدم 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.
شكرا.