আইআইএস এক্সপ্রেসে ভার্চুয়াল ডিরেক্টরি তৈরি করা হচ্ছে


124

আইআইএস এক্সপ্রেসে ভার্চুয়াল ডিরেক্টরি তৈরি করার কোনও উপায় আছে কি? আমি জানি যে ক্যাসিনি এই কাজটি করতে পারে না এবং আইআইএসের সম্পূর্ণ সংস্করণ ব্যবহার না করে এটি করতে পেরে ভাল লাগবে।

আমি এ পর্যন্ত পেয়েছি যে আমি স্থানীয়ভাবে আইআইএস এক্সপ্রেসে আমার অ্যাপ্লিকেশনটিতে ব্রাউজ করতে পারি:

HTTP: // স্থানীয় হোস্ট: 1132 /

আমি যা করতে চাই তা হল "অফসাইট স্টাফ" নামে একটি ভার্চুয়াল ডিরেক্টরি তৈরি করা এবং এটি আমার সি ড্রাইভের কিছু জায়গায় "সি: s অফসেটস্টাফ" এর মতো করে নির্দেশ করুন এবং তারপরে সেই ফোল্ডারের আইটেমগুলিতে ব্রাউজ করুন:

HTTP: // স্থানীয় হোস্ট: 1132 / OffSiteStuff / UserUploadedImage.jpg

আমি জানি যে আমি এটি আমার সাইটের মধ্যে একটি ফোল্ডার দিয়ে করতে পেরেছিলাম এবং এখনও আইআইএস এক্সপ্রেস ব্যবহার করতে পারি, বা এই বিষয়ে সরল পুরানো ক্যাসিনি, তবে এই ফোল্ডারটি ব্যবহারকারীদের দ্বারা আপলোড করা চিত্রগুলি সংরক্ষণ করবে এবং আমি এই চিত্রগুলি মিশ্রিত করতে চাই না really অ্যাপ্লিকেশন ফাইল।

অন্যটি, "বড় যান" সমাধানটি হ'ল প্রতিবার আমি অফসাইট কনটেন্ট ব্যবহার করে এমন বৈশিষ্ট্যগুলি ডিবাগ করতে চাইলে একটি সম্পূর্ণ ব্লাউন্ড সার্ভার ২০০৮ আইআইএস .5.৫ ইনস্ট্যান্সের উপর সাইট স্থাপন করা, তবে এটিও কিছুটা জটিল।

<System.WebServer />ওয়েব কনফিগার উপাদানটিতে আমি এটি করার কোনও উপায় আছে কি ?


5
ভিজ্যুয়াল স্টুডিও 2015 এর জন্য, mikedice417.wordpress.com/2015/09/13/… কাজ করেছে। applicationHost.configফাইল প্রকল্পের রুট বয়সী: ${PROJECT}\.vs\config\applicationHost.config
ম্যাট

এখানে একটি উত্তর রয়েছে যা আপনাকে সহায়তা করতে পারে: https://stackoverflow.com/a/46260607/2472664
জিওভানি ফার্টো এম।

উত্তর:


129

আইআইএস এক্সপ্রেস কনফিগারেশন অ্যাপ্লিকেশন হোস্টকনফিগ দ্বারা পরিচালিত হয়।
আপনি এটি খুঁজে পেতে পারেন

ব্যবহারকারীরা u <ব্যবহারকারীর নাম \ নথি \ আইআইএসইএক্সপ্রেস \ কনফিগার ফোল্ডার।

ভিতরে আপনি প্রতিটি আইআইএস এক্সপ্রেস কনফিগার করা সাইটের জন্য একটি বিভাগ ধারণ করে এমন সাইটগুলি সন্ধান করতে পারেন।

এই জাতীয় সাইটের বিভাগ যুক্ত করুন (বা সংশোধন করুন):

<site name="WebSiteWithVirtualDirectory" id="20">
   <application path="/" applicationPool="Clr4IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="c:\temp\website1" />
   </application>
   <application path="/OffSiteStuff" applicationPool="Clr4IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="d:\temp\SubFolderApp" />
   </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:1132:localhost" />
   </bindings>
</site>

কার্যত প্রতিটি ভার্চুয়াল ডিরেক্টরিতে আপনার সাইটে একটি নতুন অ্যাপ্লিকেশন ট্যাগ যুক্ত করা দরকার। আপনি ভার্চুয়াল ডিরেক্টরিতে (যেমন একটি আলাদা। নেট ফ্রেমওয়ার্ক সংস্করণ) জন্য আলাদা কনফিগারেশন সেট করতে পারেন বলে আপনি অনেক নমনীয়তা পান

সম্পাদনা Fevzi Apaydın ধন্যবাদ আরও মার্জিত সমাধানের দিকে ইঙ্গিত করার জন্য।

আপনি অ্যাপ্লিকেশন ট্যাগে এক বা একাধিক ভার্চুয়াল ডিরেক্টরি ট্যাগ যুক্ত করে একই ফলাফল অর্জন করতে পারেন:

<site name="WebSiteWithVirtualDirectory" id="20">
   <application path="/" applicationPool="Clr4IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="c:\temp\website1" />
     <virtualDirectory path="/OffSiteStuff" physicalPath="d:\temp\SubFolderApp" />
   </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:1132:localhost" />
   </bindings>
</site>

রেফারেন্স:


প্রতিটি ভার্চুয়াল ডিরেক্টরিতে প্রতিটি অ্যাপ্লিকেশন ট্যাগ যুক্ত করার পরে আমি "অফসেটস্টাফ" অ্যাপ্লিকেশনটি চালাতে পারিনি। উদাহরণস্বরূপ: আইসেপ্রেস / সাইট: ওয়েবসাইটসাইট উইথ ভার্চুয়ালডাইরেক্টরি - "সি: \ অস্থায়ী \ ওয়েবসাইট 1" পাথ থেকে প্রথম অ্যাপটি চালান। আমি কীভাবে আমার ২ য় অ্যাপ্লিকেশনটি চালাতে পারি যাতে "ডি: \ টেম্প \ সাবফোল্ডার অ্যাপ্লিকেশন" রয়েছে
ভেলু

বাইন্ডিং বিভাগে আপনি url এবং পোর্টটি দেখতে পান যা আপনার সাইটের মূলটি অ্যাক্সেস করতে ব্যবহৃত হয়। সুতরাং: লোকালহোস্ট: 1132 সি: \ টেম্পি \ ওয়েবসাইট 1 স্থানীয় হোস্টে ইনস্টল করা ওয়েব অ্যাপ্লিকেশনটির ইউআরএল : 1132 / অফসাইট স্টাফ হল ডি: \ টেম্প \ সাবফোল্ডার অ্যাপ্লিকেশনটিতে ইনস্টল হওয়া ওয়েব অ্যাপ্লিকেশনটির url।
বি.এস.টি.

যে কেউ / কীভাবে আমি প্রতিটি প্রকল্পের জন্য আলাদাভাবে সেটিংস কনফিগার করতে পারি (যাতে আমি কনফিগটিতে চেক করতে পারি)? ধন্যবাদ
ইয়ান গ্রেঞ্জার

1
@ Be.St। আমি আইআইএস সাইটের পোর্ট নম্বরের মতো জিনিসগুলি সকল বিকাশকারীদের জন্য একইরকম চাই - তাই আমি কনফিগারেশনটি (কিছু) পরীক্ষা করতে চাই But তবে বর্তমান অবস্থান থেকে আমি এটি করতে পারি না। ভাবছিলাম যে আমি যদি এটিকে ব্যবহারকারীর অ্যাপ্লিকেশন ইত্যাদির শৈলীতে অন্য কোনও ফাইলে নির্দেশ করতে পারি
ইয়ান

26
দ্রষ্টব্য: এই নির্দেশাবলী এখনও ভিজ্যুয়াল স্টুডিও 2015-তে প্রযোজ্য, এর অবস্থান applicationhost.configপরিবর্তন হয়েছে। পূর্ববর্তী সংস্করণগুলির চেয়ে আরও সংবেদনশীলভাবে, এটি এখন .vs\configআপনার সমাধান ফোল্ডারের সাব ফোল্ডারে অবস্থিত ।
রিচার্ড মস

91

@ বি.এস.টি. এর অ্যাপ্রোচ সত্য, তবে অসম্পূর্ণ। আমি কেবল তার ভুল অংশটি ভুল অংশটি সংশোধন করে অনুলিপি করছি।

আইআইএস এক্সপ্রেস কনফিগারেশন অ্যাপ্লিকেশন হোস্টকনফিগ দ্বারা পরিচালিত হয়।
আপনি এটি খুঁজে পেতে পারেন

ব্যবহারকারীরা u <ব্যবহারকারীর নাম \ নথি \ আইআইএসইএক্সপ্রেস \ কনফিগার ফোল্ডার।

ভিতরে আপনি প্রতিটি আইআইএস এক্সপ্রেস কনফিগার করা সাইটের জন্য একটি বিভাগ ধারণ করে এমন সাইটগুলি সন্ধান করতে পারেন।

এই জাতীয় সাইটের বিভাগ যুক্ত করুন (বা সংশোধন করুন):

<site name="WebSiteWithVirtualDirectory" id="20">
   <application path="/" applicationPool="Clr4IntegratedAppPool">
     <virtualDirectory path="/" physicalPath="c:\temp\website1" />
     <virtualDirectory path="/OffSiteStuff" physicalPath="d:\temp\SubFolderApp" />
   </application>
   <bindings>
      <binding protocol="http" bindingInformation="*:1132:localhost" />
   </bindings>
</site>

নতুন অ্যাপ্লিকেশন ব্লক যুক্ত করার পরিবর্তে আপনার কেবলমাত্র অ্যাপ্লিকেশন প্যারেন্ট উপাদানগুলিতে একটি নতুন ভার্চুয়াল ডিরেক্টরি উপাদান যুক্ত করা উচিত।

সম্পাদনা করুন - ভিজ্যুয়াল স্টুডিও 2015

আপনি যদি অ্যাপ্লিকেশন হোস্টকনফিগ ফাইলটি সন্ধান করছেন এবং আপনি ভিএস ২০১৫ ব্যবহার করছেন তবে আপনি এটি খুঁজে পাবেন:

[Solution_directory] /। বনাম / কনফিগ / applicationHost.config


4
ভিজ্যুয়াল স্টুডিও প্রকল্পের মধ্যে কি এটি প্রয়োগ করার জন্য কোনও উপায় আছে? একটি বহু-বিকাশকারী পরিবেশে, অন্য কেউ যদি তাদের মেশিনের কোডটি পরীক্ষা করে দেখেন তবে তাদের স্থানীয় আইআইএস এক্সপ্রেস ভার্চুয়াল ডিরেক্টরিটি কনফিগার করা যায় না এবং রানটাইম ত্রুটিগুলি সৃষ্টি করে না?
ahillier88

4
ভিজ্যুয়াল স্টুডিও 2015-তে, আইআইএস কনফিগারেশন ফাইলটি .vs / কনফিগারেশন নামে একটি ফোল্ডারে সমাধান ডিরেক্টরিতে সঞ্চিত করা হয়, আপনি যদি চান তবে এটি উত্স নিয়ন্ত্রণে পরীক্ষা করতে পারেন।
রেন্ডি গ্যামেজ

ভিএস ২০১২ সম্পর্কিত এই প্রশ্নের জন্য অনেক উত্তর-উত্তর বন্যার গুগলের ফলাফল This এটি কাজ করে !!!!
টিম ওগিলভি

আইআইএস এক্সপ্রেসে ভার্চুয়াল ডিরেক্টরিতে একটি পৃথক অ্যাপ্লিকেশন যুক্ত করা সম্ভব যাতে একটি ডোমেনের অধীনে আমার দুটি অ্যাপ্লিকেশন থাকতে পারে?
ডেনেস আলেক্সিয়েভ

6

ভিএস ২০১৩-তে আমি নিম্নলিখিত পদক্ষেপে এটি করেছি:

1. ওয়েব অ্যাপ্লিকেশন প্রকল্পটিতে রাইট ক্লিক করুন এবং বৈশিষ্ট্যগুলি হিট করুন

বৈশিষ্ট্য পৃষ্ঠার "ওয়েব" ট্যাবটি দেখুন

"প্রকল্প আইআরএল" -তে "আইআইএস এক্সপ্রেস" ড্রপডাউনটির ডিফল্ট পছন্দ হওয়ায় ইউন্ডল সার্ভারগুলি পোর্ট নম্বরটি আপনার উপযুক্ত অনুসারে ব্যবহার করে ইউআরএল পরিবর্তন করে। উদাহরণস্বরূপ, আমি পোর্ট নম্বরটি মুছে ফেলেছি এবং লোকালহোস্টের পরে "/ এমভিসিডিইমো 4" যুক্ত করেছি।

4. "ভার্চুয়াল ডিরেক্টরি তৈরি করুন" বোতামটি ক্লিক করুন।

আপনার প্রকল্পটি চালান এবং নতুন ইউআরএল ব্যবহৃত হবে


1
এটি আপনাকে দৈহিক পথটি কনফিগার করতে দেয় না।
ভিক্টোরিও বেরেরা

2

আপনি যদি ভিজ্যুয়াল স্টুডিও 2013 ব্যবহার করছেন (প্রো সংস্করণ বা তার বেশি হতে পারে), সলিউশন এক্সপ্লোরারের ওয়েবসাইটে ডান ক্লিক করে এবং যুক্ত> এ ক্লিক করে আমি একটি আইআইএস এক্সপ্রেস (ফাইল-ভিত্তিক) ওয়েবসাইটে একটি ভার্চুয়াল ডিরেক্টরি যুক্ত করতে সক্ষম হয়েছি নতুন ভার্চুয়াল ডিরেক্টরি। এটি এখানে বর্ণিত ম্যানুয়াল পদ্ধতিগুলির মতোই আবেদনহোস্ট.কনফিগ ফাইলটিতে একটি এন্ট্রি যুক্ত করেছে।



0

আমার অন্য কিছু ছিল, ফাইলগুলি নিজেই যেখানে এসবিএস এনভায়রমেন্টে অ্যাক্সেসযোগ্য।

কনফিগার ফোল্ডারে থাকা ফাইলগুলি মুছুন (যদি আপনি সেগুলি খুলতে না পারেন!) এবং আপনার নিজের স্থানীয় পিসিতে ফোল্ডারের একটি অনুলিপি দিয়ে তাদের প্রতিস্থাপন করুন।

এটা আমার জন্য স্থির :)


ব্যবহারকারীদের ফাইলগুলি u <ব্যবহারকারীর নাম \ নথি \ IISExpress \ কনফিগার প্রতি ব্যবহারকারী সুরক্ষিত। হতে পারে আপনি এটি অন্য কোনও ব্যবহারকারীর সাথে সম্পাদনা করার চেষ্টা করেছেন। সুতরাং এটি সম্পাদনা করতে আপনার প্রশাসনিক মোডে নোটপ্যাড (বা আপনার সম্পাদক) চালানো দরকার। এইভাবে আপনি এটি পরিবর্তন করতে পারবেন। বা মুছুন এবং আপনার মতো কপি করুন :-)
Be.St.

0

আমাকে [প্রকল্প] .vs \ config \ applicationhost.config ফাইলটিতে এন্ট্রি করতে হয়েছিল।

এর আগে, এটি মোতায়েন থেকে কাজ করেছিল তবে কোড থেকে নয়।


0

পরবর্তী প্রশ্নের উত্তরে -

"ভিজ্যুয়াল স্টুডিও প্রকল্পের মধ্যে এটি প্রয়োগ করার কি কোনও উপায় আছে? বহু-বিকাশকারী পরিবেশে, অন্য কেউ যদি তাদের মেশিনের কোডটি পরীক্ষা করে দেখেন, তবে তাদের স্থানীয় আইআইএস এক্সপ্রেস ভার্চুয়াল ডিরেক্টরিটি কনফিগার করা যাবে না এবং রানটাইম ত্রুটিগুলি সৃষ্টি করবে না তাই না? "

আমি এর কোথাও এর কোনও সংক্ষিপ্ত উত্তর খুঁজে পাই নি তবে বুঝতে পেরেছিলাম যে আপনি ওয়েবসাইটের জন্য প্রকল্পের ফাইলের এক্সএমএলপোক টাস্কটি ব্যবহার করে একটি পোস্ট বিল্ড ইভেন্ট দিয়ে এটি করতে পারেন -

<Target Name="AfterBuild">
    <!-- Get the local directory root (and strip off the website name) -->
    <PropertyGroup>
        <LocalTarget>$(ProjectDir.Replace('MyWebSite\', ''))</LocalTarget>
    </PropertyGroup>

    <!-- Now change the virtual directories as you need to -->
    <XmlPoke XmlInputPath="..\..\Source\Assemblies\MyWebSite\.vs\MyWebSite\config\applicationhost.config" 
        Value="$(LocalTarget)AnotherVirtual" 
        Query="/configuration/system.applicationHost/sites/site[@name='MyWebSite']/application[@path='/']/virtualDirectory[@path='/AnotherVirtual']/@physicalPath"/>
</Target>

আইআইএসইপ্রেস শুরু হওয়ার আগে আপনি ফাইলটিতে যেকোন কিছুকেও দমন করতে এই কৌশলটি ব্যবহার করতে পারেন। এটি আপনাকে প্রাথমিকভাবে একটি অ্যাপ্লিকেশন হোস্টকনফিগ ফাইলটি জিআইটি-তে জোর করার অনুমতি দেয় (ধরে নিলে এটি গিটিগনোর দ্বারা উপেক্ষা করা হবে) তারপরে পরবর্তী সময়ে বিল্ড টাইমের সমস্ত পাথ পুনরায় স্থির করুন। জিআইটি ফাইলের যে কোনও পরিবর্তনকে অগ্রাহ্য করবে তাই এখন সেগুলি ভাগ করে নেওয়া সহজ।

এক সাইটের অধীনে অন্যান্য অ্যাপ্লিকেশন যুক্ত করার বিষয়ে ভবিষ্যতের প্রশ্নের উত্তরে:

আপনি আপনার সার্ভারে থাকা ঠিক যেমন অ্যাপ্লিকেশন হোস্ট ফাইলটিতে সাইট তৈরি করতে পারেন। উদাহরণ স্বরূপ:

  <site name="MyWebSite" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\GIT\MyWebSite\Main" />
      <virtualDirectory path="/SharedContent" physicalPath="C:\GIT\SharedContent" />
      <virtualDirectory path="/ServerResources" physicalPath="C:\GIT\ServerResources" />
    </application>
    <application path="/AppSubSite" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\GIT\AppSubSite\" />
      <virtualDirectory path="/SharedContent" physicalPath="C:\GIT\SharedContent" />
      <virtualDirectory path="/ServerResources" physicalPath="C:\GIT\ServerResources" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:4076:localhost" />
    </bindings>
  </site>

তারপরে নির্মাণের সময় ফোল্ডারের অবস্থানগুলি পরিবর্তন করতে উপরের কৌশলটি ব্যবহার করুন।


আইআইএস এক্সপ্রেসে ভার্চুয়াল ডিরেক্টরিতে একটি পৃথক অ্যাপ্লিকেশন যুক্ত করা সম্ভব যাতে একটি ডোমেনের অধীনে আমার দুটি অ্যাপ্লিকেশন থাকতে পারে?
ডেনেস আলেক্সিয়েভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.