Vra

Ek gebruik MVC NET in 'n verspreide omgewing met CSLA en ek kan verwysing HttpPostedFileBase van een van my web lae (bv Website.MVC), maar ek kan nie verwysing HttpPostedFileBase van 'n aparte laag (Kom ons noem dit OtherLayer.Web).

Enige idee oor wat ek moet doen om in staat wees om te bel HttpPostedFileBase? Ek kan HttpPostedFile gebruik in beide lae - moet ek dit gebruik net plaas

?

Die vergadering verwysings is basies dieselfde - in Website.MVC Ek het:

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;

AANGESIEN in my ander laag ek het:

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;
Was dit nuttig?

Oplossing

Maak seker dat jou projek verwysings die System.Web.Abstractions vergadering wat bevat die HttpPostedFileBase tipe.

As verwarrend as wat dit mag lyk, die HttpPostedFile tipe lewens in 'n aparte vergadering (System.Web) maar presies dieselfde naamruimte.

Dit is belangrik om te onthou dat die naamruimtes gemeentes kan strek en die naam van 'n vergadering nie noodwendig dikteer die naamruimte van die tipes soos vervat in dit. Daar is geen System.Web.Abstractions naamruimte eenvoudig twee gemeentes wat tipes in die System.Web naamruimte bevat.

As jy beide gemeentes jy kan beide tipes verwys deur hul ongekwalifiseerde name met hierdie enkele behulp verklaring het gekla:

using System.Web;

Ander wenke

  

Maak seker dat jou projek verwysings die System.Web.Abstractions vergadering wat die HttpPostedFileBase tipe bevat.

Dankie, Andrew Haas, wat die truuk gedoen, maar ek glo dat van Net 4,0 en so aan, System.Web.Abstractions is afgekeur, en jy moet verwysing by te voeg om System.web plaas.

In my geval, dat die uiteindelike oplossing was nadat

using System.Web;

gewerk, en dus HttpPostedFileBase erken.

Dankie.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top