কীভাবে এসভিজি এবং ভিজ্যুয়াল স্টুডিওর সাথে ওয়েব পরীক্ষার জন্য আইআইএস কনফিগার করবেন?


14

ধরা যাক যে আমার কাছে একটি সহজ ওয়েব পৃষ্ঠা রয়েছে এতে এতে svg চিত্র রয়েছে:

<img src="foobar.svg" alt="not working" />

যদি আমি এই পৃষ্ঠাটিকে স্থির এইচটিএমএল পৃষ্ঠা হিসাবে তৈরি করি এবং এটি সরাসরি দেখি তবে এসভিজি প্রদর্শিত হয়। যদি আমি এই এসভিগির ঠিকানা টাইপ করি - এটি প্রদর্শিত হয়।

তবে আমি যখন এটি। এসপিএক্স পৃষ্ঠা হিসাবে তৈরি করি এবং ভিজ্যুয়াল স্টুডিও থেকে এটি গতিশীলভাবে চালু করি তখন আমি altপাঠ্য পাই get যদি আমি এই এসভিজির ঠিকানা টাইপ করি (লোকালহোস্ট থেকে, স্থানীয় ফাইল হিসাবে নয়) - ব্রাউজারটি প্রদর্শনের পরিবর্তে এটি ডাউনলোড করার চেষ্টা করে।

আমি ইতিমধ্যে আইআইএসে মাইম টাইপ সংজ্ঞায়িত করেছি (পুরো সার্ভারের জন্য - "ইমেজ / এসভিজি + এক্সএমএল") এবং আইআইএস পুনরায় চালু করেছি। আগের মত একই প্রভাব।

প্রশ্ন: আমার আরও কি করা উচিত?

হালনাগাদ

ওয়্যারশার্ক কাজ করবে না (এটি ডকুমেন্টেশনে রয়েছে), আমি রাও ক্যাপও চেষ্টা করেছি, তবে এটি আমার সংযোগটি (বিজোড়) সন্ধান করতে পারে না, ভাগ্যক্রমে ফিডলার কাজ করেছেন:

ক্লায়েন্ট থেকে:

GET http://127.0.0.1:1731/svg/document_edit.svg HTTP/1.1
Host: 127.0.0.1:1731
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

সার্ভার থেকে উত্তর:

HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Thu, 16 Feb 2012 11:14:38 GMT
X-AspNet-Version: 4.0.30319
Cache-Control: private
Content-Type: application/octet-stream
Content-Length: 87924
Connection: Close

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:

*** FIDDLER: RawDisplay truncated at 128 characters. Right-click to disable truncation. ***

রেকর্ডের জন্য, এখানে ফিডলারের জন্য কার্যকর প্রশ্নোত্তর: /programming/826134/how-to-display-localhost-traffic-in-fiddler- moment-debugging-an-asp-net-applicati


ভাবেন আপনি এর জন্য আরও উত্তর পেতে পারেন। সংক্ষেপে, ধরে নিই যে এএসপিএক্স ইতিমধ্যে কাজ করছে, ব্রাউজারটি এটি কোনও এসভিজি ফাইল বিশ্বাস করার জন্য আপনাকে এএসপিএক্স পৃষ্ঠা থেকে মাইম টাইপ হিসাবে এসভিজি প্রসারণ করতে হবে। আপনি সম্ভবত, পৃষ্ঠাটি থেকে এসভিজি নিঃসরণের জন্য চেষ্টা করছেন? যদি তাই হয়, আফাইক যদি এটি একটি একক পৃষ্ঠা হিসাবে কাজ করে তবে এটি একটি আইএমজি এন্ট্রিতে কাজ করবে।
ত্রিস্তানক

@ ত্রিস্তানকে, এসপিএক্স "এমআইএম টাইপ হিসাবে এসভিজি" নির্গমন করছে না, এটি কেবল <img src...উপরের মতো দেখানো হয়েছে, এসপেক্স সম্পূর্ণ এইচটিএমএল পৃষ্ঠায় "অনুবাদ", তবে প্রেরণ সম্পূর্ণ লিখিত সামগ্রী (এইচটিএমএল, এবং এসভিজি) আইআইএস দ্বারা সম্পন্ন হয়েছে।
গ্রীনল্ডম্যান

আপনি কী বর্ণনা করছেন তা আমি এখনও বুঝতে পারি না তবে আমি মনে করি এটি একটি বিকাশের প্রশ্ন, তাই স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করা ভাল।
ত্রিস্তানক

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

@ ম্যাকিয়াস যেমন কেভ বলেছেন, আপনার ট্র্যাফিকের সন্ধান করা দরকার। ফিডলার বা সরল পুরাতন ওয়্যারশার্ক এটি তুলতে সক্ষম হওয়া উচিত।
ক্রিস এস

উত্তর:


14

আপনার ফিডলারের ট্রেস থেকে দেখা যাচ্ছে যে আপনি বিল্ট-ইন ভিজ্যুয়াল স্টুডিও ওয়েব সার্ভারটি ব্যবহার করে আপনার পৃষ্ঠাগুলি পরিবেশন করছেন:

Server: ASP.NET Development Server/10.0.0.0

যদি এটি আইআইএস 7 দ্বারা পরিবেশন করা হত তবে আমরা দেখতে চাই:

Server: Microsoft-IIS/7.5

অন্তর্নির্মিত ভিজ্যুয়াল স্টুডিও ওয়েব সার্ভারে কেবল মাইম-টাইপের একটি সীমিত সেট রয়েছে যা এটি পরিবেশন করতে পারে এবং আপনি আইআইএস for এর জন্য সেট করেছেন মাইম প্রকারের কোনও জ্ঞান নেই। আমি স্ট্যাক ওভারফ্লোতে কিছুক্ষণ আগে অনুরূপ সমস্যার উত্তর লিখেছিলাম:

ASP.NET বিকাশ সার্ভার ব্যবহার করে MIME প্রকারগুলি সেট করা Set

অন্তর্নির্মিত সার্ভারটি আপনার .svgফাইলটি এইভাবে পরিবেশন করছে :

Content-Type: application/octet-stream

এটি সম্ভবত ব্রাউজারটি ডাউনলোড করার জন্য অনুরোধ করছে।

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

এখানে চিত্র বর্ণনা লিখুন

আপনার যদি আইআইএস 7.5 এক্সপ্রেস ইনস্টল না করা থাকে তবে আপনি এখান থেকে এটি পেতে পারেন:

http://www.microsoft.com/download/en/details.aspx?id=1038

পুরো সুবিধা নিতে আপনার ভিজ্যুয়াল স্টুডিও 2010 সার্ভিস প্যাক 1 এর প্রয়োজন হবে:

http://support.microsoft.com/kb/983509

আইআইএস এক্সপ্রেস সমর্থন

ভিজ্যুয়াল স্টুডিও 2010 এসপি 1 আপনাকে ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশন প্রকল্পের স্থানীয় হোস্টিং সার্ভার হিসাবে ইন্টারনেট তথ্য পরিষেবা (আইআইএস) 7.5 এক্সপ্রেস ব্যবহার করতে সক্ষম করে।

দ্রষ্টব্য আইআইএস 7.5 এক্সপ্রেস এসপি 1 এর অন্তর্ভুক্ত নয় এবং আপনাকে অবশ্যই এটি আলাদাভাবে ডাউনলোড করতে হবে। আরও তথ্যের জন্য, নিম্নলিখিত ব্লগে দেখুন: http://weblogs.asp.net/scottgu/archive/2011/01/03/vs-2010-sp1-beta-and-iis-developer-express.aspx

যখন আপনি এটি করেন যে আপনি .svgনিজের অ্যাপ্লিকেশনটির web.configফাইলে মাইম টাইপ যুক্ত করতে পারেন :

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
      </staticContent>
   </system.webServer>
</configuration>

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

2

উপরে উল্লিখিত হিসাবে, ক্যাসিনী ওয়েব সেটিংসে এই সেটিংসটিকে উপেক্ষা করে তাই একটিকে পরিবর্তে (ভিএস প্রকল্প সেটিংসে) আইআইএস এক্সপ্রেস ব্যবহার করতে হবে /programming/5924647/setting-mime-types-used-the-asp- নেট-উন্নয়ন-সার্ভার

অ্যাডমিন UI ব্যবহার বা আইআইএস বা আইআইএস এক্সপ্রেস জন্য web.config ব্যবহার কিভাবে কনফিগার করতে MIME প্রকারসমূহ সম্পর্কে আরো তথ্য জানতে দেখুন: http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4- আই-আইস-এ-ওয়েবসাইট-বা-গ্লোবাল / এবং http://4rapiddev.com/tips-and-tricks/add-mime-type-flv-mp4-to-web-config-in-iis-7 /


আপনি কি এটি একটি নতুন প্রশ্ন হিসাবে জিজ্ঞাসা করছেন, বা বক্তৃতা দিয়ে? যদি প্রাক্তন হয় তবে দয়া করে সম্পূর্ণ বিশদ সহ একটি নতুন প্রশ্ন জিজ্ঞাসা করুন। যদি দ্বিতীয়টি হয় তবে এটি সম্ভবত একটি মন্তব্য হওয়া উচিত - কারণ এটি খুব খারাপ উত্তর ( কেন তা এখানে দেখুন )
ভোরেটাক 7

আরও উন্নত লিঙ্কগুলির সাথে সংশোধিত
জর্জ বীরবিলিস

আরও ভাল :-)
ভোরেটাক 7

2

আমি কেভ উত্তরটি ব্যবহার করেছি, এর দ্বারা:

  1. ওয়েব প্ল্যাটফর্ম ইনস্টলার থেকে আইআইএস 8.0 এক্সপ্রেস ইনস্টল করা
  2. আইআইএস এক্সপ্রেস ব্যবহার করতে প্রকল্পের বৈশিষ্ট্যগুলি পরিবর্তন করা এবং এর জন্য ভার্চুয়াল ডিরেক্টরি তৈরি করা
  3. Web.config এর যোগ করার পদ্ধতি কনফিগারেশন → system.webServer
<staticContent>
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

2

এর জন্য আমার কর্মসূচীটি ছিল স্থানীয়ভাবে আমার নিজস্ব রেকর্ডার তৈরি করা যা এসভিজির জন্য সামগ্রী-প্রকারটিকে ওভাররোট করে।

public class SvgHandler : IHttpHandler
{

    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "image/svg+xml";
        context.Response.BinaryWrite(File.ReadAllBytes(context.Request.PhysicalPath));
        context.Response.End();
    }
}

এবং ওয়েবকনফাইগে আমি যুক্ত করেছি:

<httpHandlers>
  <add verb="*" path="*.svg" type="SvgHandler" />
</httpHandlers>

এই সমাধানের সাথে আপনাকে আইআইএস এক্সপ্রেস ব্যবহার করতে হবে না, আপনি কেবল ভিজ্যুয়াল স্টুডিও 2010 এ নিয়মিত বিকাশ সার্ভারটি ব্যবহার করতে পারেন


1
এই ধরণের
ঘটনাটি

1

আমি আইআইএস 7 চালাচ্ছি, এবং আইআইএস-এ সার্ভারে ডান ক্লিক করে এবং বৈশিষ্ট্যগুলি বেছে নিয়ে এটি ঠিক করতে সক্ষম হয়েছি। তারপরে আমি মাইম টাইপস ... বোতামে ক্লিক করি। আমি তখন নতুন ক্লিক। এক্সটেনশনের জন্য আমি .svg টাইপ করেছি। মাইম টাইপের জন্য আমি চিত্র / এসভিজি + এক্সএমএল টাইপ করেছি। আমি তখন সব কিছু সংরক্ষণ করেছি এবং কমান্ড প্রম্পট থেকে একটি আইস্রেসেট করেছি। দুর্দান্ত কাজ করেছেন


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