আমি কীভাবে ডাব্লুসিএফ পরিষেবাটিতে ডিফল্ট সময়সীমা 1 মিনিটের চেয়ে বড় করতে পারি?
আমি কীভাবে ডাব্লুসিএফ পরিষেবাটিতে ডিফল্ট সময়সীমা 1 মিনিটের চেয়ে বড় করতে পারি?
উত্তর:
আপনি কি সার্ভার সাইড বা ক্লায়েন্ট সাইডের কথা উল্লেখ করছেন?
কোনও ক্লায়েন্টের জন্য, আপনি একটি বাধ্যতামূলক উপাদানটির সেন্ডটাইমআউট বৈশিষ্ট্যটি সামঞ্জস্য করতে চান । একটি পরিষেবার জন্য, আপনি একটি বাধ্যতামূলক এলিয়েনেন্টের রিসিটটাইমআউট বৈশিষ্ট্যটি সামঞ্জস্য করতে চান ।
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="longTimeoutBinding"
receiveTimeout="00:10:00" sendTimeout="00:10:00">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
<services>
<service name="longTimeoutService"
behaviorConfiguration="longTimeoutBehavior">
<endpoint address="net.tcp://localhost/longtimeout/"
binding="netTcpBinding" bindingConfiguration="longTimeoutBinding" />
</service>
....
অবশ্যই, আপনাকে সেই নির্দিষ্ট বাঁধার জন্য আপনার পছন্দসই শেষ পয়েন্টটি মানচিত্র করতে হবে।
receiveTimeoutঅধিবেশন ভিত্তিক বাইন্ডিং জন্য আলস্যের সার্ভার প্রান্তের নিয়ন্ত্রণ সংকল্প করেন। উদাহরণস্বরূপ, সার্ভার বেসিক এইচটিটিপি বাইন্ডিংগুলির জন্য এই সেটিংটি ব্যবহার করবে না। আপনাকে ডাব্লুসিএফ
ভিজ্যুয়াল স্টুডিও ২০০৮-এর সরঞ্জাম মেনুর অধীনে (বা 2005 যদি আপনার ডান WCF স্টাফ ইনস্টল থাকে) সেখানে 'ডাব্লুসিএফ পরিষেবা কনফিগারেশন এডিটর' নামে একটি বিকল্প রয়েছে।
সেখান থেকে আপনি ক্লায়েন্ট এবং পরিষেবা উভয়ের জন্য বাধ্যতামূলক বিকল্পগুলি পরিবর্তন করতে পারেন, এই বিকল্পগুলির মধ্যে একটি সময় সময়সীমার জন্য হবে।
বিভিন্ন সময়সীমার অর্থ ভিন্ন জিনিস। আপনি যখন ক্লায়েন্টের সাথে কাজ করছেন .. আপনি সম্ভবত বেশিরভাগই সেন্ডটাইমআউটটির দিকে তাকিয়ে রয়েছেন - এই রেফারেন্সটি দেখুন - দুর্দান্ত এবং প্রাসঙ্গিক ব্যাখ্যা: http ://social.msdn.mic Microsoft.com/ Forums/en-US/wcf/thread / 84551e45-19a2-4d0d-bcc0-516a4041943d /
আপনি দুটি উপায় চয়ন করতে পারেন:
1) ক্লায়েন্ট কোড দ্বারা
public static void Main()
{
Uri baseAddress = new Uri("http://localhost/MyServer/MyService");
try
{
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService));
WSHttpBinding binding = new WSHttpBinding();
binding.OpenTimeout = new TimeSpan(0, 10, 0);
binding.CloseTimeout = new TimeSpan(0, 10, 0);
binding.SendTimeout = new TimeSpan(0, 10, 0);
binding.ReceiveTimeout = new TimeSpan(0, 10, 0);
serviceHost.AddServiceEndpoint("ICalculator", binding, baseAddress);
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
catch (CommunicationException ex)
{
// Handle exception ...
}
}
2) একটি ওয়েব সার্ভারে ওয়েবকনফিগ দ্বারা
<configuration>
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding openTimeout="00:10:00"
closeTimeout="00:10:00"
sendTimeout="00:10:00"
receiveTimeout="00:10:00">
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
আরও তথ্যের জন্য সরকারী নথি দেখুন