<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7752604992674614388</atom:id><lastBuildDate>Mon, 21 May 2012 17:32:52 +0000</lastBuildDate><category>flash</category><category>Visual Studio</category><category>باگ‌زیلا</category><category>کدباز</category><category>GD Library</category><category>Get</category><category>کد پلکس</category><category>news</category><category>Zen</category><category>Team Foundation Build</category><category>Session Management</category><category>Bug</category><category>Civil</category><category>String</category><category>UI</category><category>Java ME</category><category>RentACoder</category><category>Rhino Mocks</category><category>Exprience</category><category>Trouble Ticket Express</category><category>barnamenevis</category><category>Partial Class</category><category>Trace</category><category>Random Date</category><category>Error Handling</category><category>Test</category><category>query</category><category>cs</category><category>Job</category><category>Code</category><category>5S</category><category>uNHaddins</category><category>AI</category><category>ToString</category><category>IWAM_computer</category><category>ORM</category><category>Debugging</category><category>email</category><category>Disaster</category><category>SysCache</category><category>Named SQL Query</category><category>Solution</category><category>XML Schema</category><category>FNH</category><category>WinForms</category><category>ECE Protocol</category><category>IPv6</category><category>SCM</category><category>i18n</category><category>CDO</category><category>Subversion</category><category>IoC</category><category>Unit Test</category><category>GridView</category><category>ماتصا ۹۱۴۷</category><category>Event Listener</category><category>Decoupling</category><category>FOSS</category><category>Software Enginerring</category><category>MSBuild</category><category>IIS</category><category>Extreme Programming</category><category>founation</category><category>Namespace</category><category>ITIL</category><category>ويروس</category><category>interview</category><category>Unicode</category><category>Microsoft Ajax Library</category><category>DateTime</category><category>Projection</category><category>NuGet</category><category>بنیاد کدپلکس</category><category>Castle Windsor</category><category>clean code</category><category>prioritize</category><category>GFDL</category><category>NHibernate</category><category>Babouneh</category><category>MIDlet</category><category>proxy pattern</category><category>Damn</category><category>git-dot-aspx</category><category>Methodology</category><category>Load</category><category>SOPA</category><category>Blog</category><category>Sorting</category><category>Vista</category><category>Mocking</category><category>LibreOffice</category><category>introduction</category><category>Escrow</category><category>net</category><category>Cache</category><category>کپی‌لفت</category><category>Source Control</category><category>DDT</category><category>Review</category><category>.Net</category><category>DRY</category><category>Generator</category><category>Moq</category><category>Copyleft</category><category>Build</category><category>CTP</category><category>Idea</category><category>حسابداری</category><category>حق مولف</category><category>Dirty</category><category>Opinion</category><category>scraping</category><category>Profiler</category><category>Exception</category><category>Leadership</category><category>NHibernate 3</category><category>ios</category><category>Industry</category><category>Parameter</category><category>FxCop</category><category>CGI</category><category>Shared Hosting</category><category>business code</category><category>dynamic stat</category><category>فونت</category><category>FeedBurner</category><category>iDevCenter</category><category>SFD</category><category>Continuous Integration</category><category>Freelance</category><category>Declarative Programming</category><category>Software Development</category><category>RC</category><category>ALT.NET</category><category>مایکروسافت</category><category>CSV</category><category>gpedit.msc</category><category>MS SQL</category><category>Fun</category><category>Human</category><category>CpBT</category><category>vWorker</category><category>Web Scraping</category><category>Open Source</category><category>Advice</category><category>Profession</category><category>Castle ActiveRecord</category><category>Git-Web-Access</category><category>PHP</category><category>Company</category><category>IssueTracker.NET</category><category>Ruby</category><category>twitter</category><category>log</category><category>afsharm</category><category>Autofac</category><category>Tools</category><category>EF</category><category>وقف</category><category>Hard</category><category>WPF</category><category>TortoiseGit</category><category>Pascal</category><category>Tips and Tricks</category><category>Login</category><category>mobile</category><category>TF Build</category><category>Complain</category><category>Windows 2003</category><category>Mapping</category><category>weblog</category><category>Join</category><category>magazine</category><category>Software Engineering</category><category>Final</category><category>web application project</category><category>DatePicker</category><category>web</category><category>Game</category><category>kbdfa.dll</category><category>ITSM</category><category>programmers.stackexchange.com</category><category>Html Agility Pack</category><category>Persian</category><category>framework 3.5</category><category>حساب مرکز هزینه</category><category>حساب تفصیلی</category><category>Computer</category><category>كوئري</category><category>WF</category><category>stash</category><category>Community</category><category>standard</category><category>PerSession</category><category>Rhino</category><category>HBM</category><category>IIS 6.0</category><category>Extension Methods</category><category>Career</category><category>Social Network</category><category>AAA</category><category>Work</category><category>HR</category><category>Mono</category><category>SourceForge</category><category>Error</category><category>Unknowing</category><category>ezine</category><category>Operation</category><category>AAFS</category><category>ActivePerl</category><category>نمایشگاه</category><category>ELMAH</category><category>jQuery</category><category>QueryOver</category><category>odesk</category><category>TFS Build 2010</category><category>IEnumerable</category><category>Declarative</category><category>TFS2010</category><category>UML</category><category>XML</category><category>language</category><category>Developer</category><category>ICriteria</category><category>Experience</category><category>sample</category><category>Best Practices</category><category>Domain Drive Design</category><category>Pattern</category><category>poka yoke</category><category>ماتصا ۶۲۱۹</category><category>حساب معین</category><category>Developers</category><category>android</category><category>SourceSafe</category><category>market</category><category>Dynamic</category><category>Collaboration</category><category>Free</category><category>CodeActivity</category><category>Education</category><category>Serialization</category><category>Usability</category><category>Named SQL</category><category>MVC</category><category>Architecture</category><category>public</category><category>javascript</category><category>Technology</category><category>Award</category><category>Trigger</category><category>Dependency Injection</category><category>UTC</category><category>Date</category><category>user agent string</category><category>AJAX</category><category>Paging</category><category>Free Software</category><category>change</category><category>DataBinding</category><category>ansi</category><category>http</category><category>forum</category><category>America</category><category>ISession</category><category>اتوران</category><category>Server Application Error</category><category>Burndown Chart</category><category>Virus</category><category>Non-Clustered</category><category>ایده</category><category>Book</category><category>entlib</category><category>Error logging</category><category>hero</category><category>back asp browser</category><category>Outsourcing</category><category>Design Patterns</category><category>Build Conference</category><category>deploy</category><category>Foundation of Programming</category><category>lazy loading</category><category>debug</category><category>recommendation</category><category>me</category><category>Internet</category><category>CodePlexFoundation</category><category>dynamic language</category><category>Reservation</category><category>stream</category><category>git server</category><category>Autofac WCF</category><category>باگ زیلا</category><category>useragentstring.com</category><category>WP7</category><category>Workflow</category><category>employee</category><category>careers</category><category>website</category><category>Java</category><category>سهو تالیف</category><category>student</category><category>ELECOMP</category><category>C#</category><category>Xml Namespace</category><category>Remoting</category><category>blogger</category><category>SysConfig</category><category>WCF</category><category>rsclientprint.dll</category><category>Singleton</category><category>RadGrid</category><category>PerCall</category><category>فاینال</category><category>ODBC</category><category>Time</category><category>Template Process</category><category>دبیرخانه</category><category>Customize</category><category>fiddler</category><category>karvis</category><category>Object Oriented</category><category>Versioing</category><category>Host</category><category>J2ME</category><category>addiction</category><category>Off Topic</category><category>Performance</category><category>xmlns</category><category>ISIRI</category><category>UTF</category><category>localization</category><category>Membership</category><category>C# 2008</category><category>Castle</category><category>Film</category><category>bonobo</category><category>Windows</category><category>Translation</category><category>Nostalgia</category><category>LINQ-to-Objects</category><category>UI Mocking</category><category>Team Work</category><category>Team Build 2010</category><category>Feed</category><category>TDD</category><category>RUP</category><category>Cuyahoga</category><category>Backup</category><category>git</category><category>IQueryable</category><category>University</category><category>FTP</category><category>Delphi</category><category>fresh</category><category>UpdatePanel</category><category>SmtpClient</category><category>assholism</category><category>FireFox</category><category>NUnit</category><category>micro blogging</category><category>StackOverflow</category><category>reading</category><category>Service</category><category>System</category><category>Feature Builder</category><category>Team Build</category><category>SQL Server 2005</category><category>Source Safe</category><category>تکنولوژی</category><category>OpenOffice</category><category>Design</category><category>Perl</category><category>Session</category><category>Professional</category><category>USB</category><category>Chinese Room</category><category>GPL</category><category>Cascade</category><category>Consultant</category><category>Assembly</category><category>report</category><category>VMware</category><category>Agile</category><category>TFS 2010</category><category>HttpContext</category><category>asp word</category><category>Scrum</category><category>جیرا</category><category>OOP</category><category>asp.net</category><category>ريكرسيو</category><category>کپی‌رایت</category><category>project</category><category>LINQ-to-NHibernate</category><category>app.config</category><category>Rubber Duck Debugging</category><category>Event</category><category>shci</category><category>Excel</category><category>Extension Method</category><category>Random</category><category>Architect</category><category>Innovation</category><category>PersiaBME</category><category>کدپلکس</category><category>WPF DataBinding</category><category>Duplex</category><category>Fardis</category><category>SilverLight</category><category>Remote</category><category>Podcast</category><category>ISO</category><category>Simple</category><category>recursive</category><category>Consulting</category><category>Durable Services</category><category>DataGrid</category><category>github</category><category>Restart</category><category>Mock</category><category>Non-Clustered Index</category><category>اطلاعات</category><category>Low Level</category><category>GNU</category><category>BizSpark</category><category>بتا</category><category>Data Type</category><category>Shiraz</category><category>mvp</category><category>برنامه نویس</category><category>Git Extensions</category><category>Hosting</category><category>JIT</category><category>steve jobs</category><category>Index</category><category>R and D</category><category>Joel Spolsky</category><category>gist</category><category>MCPD</category><category>Money</category><category>Method Stub</category><category>DDD</category><category>JSON</category><category>learning</category><category>markup</category><category>Facebook</category><category>Anonymous Methods</category><category>MIDP</category><category>share</category><category>Use Case</category><category>Manager</category><category>Reports</category><category>CopSSH. PuTTY</category><category>Copyright</category><category>استالمن</category><category>Cooking</category><category>Windsor</category><category>OTRS</category><category>Lock</category><category>header</category><category>writer</category><category>Restore</category><category>Server</category><category>migration</category><category>Mobile Programming</category><category>Per Session</category><category>Reporting Services</category><category>Linq-to-Sql</category><category>Instance Management</category><category>ISIR 6219</category><category>Reflection</category><category>Loud Thinking</category><category>Outsource</category><category>Active Record Pattern</category><category>حساب پروژه</category><category>Database</category><category>Linux</category><category>nhforge.org</category><category>Design Pattern</category><category>FardaPardaz</category><category>Data Binding</category><category>log4net</category><category>Authentication</category><category>Autoplay</category><category>If</category><category>TF Version Control</category><category>CDC</category><category>SchemaUpdate</category><category>Yalda</category><category>CMMI</category><category>CodePlex</category><category>Stub</category><category>Jira</category><category>install</category><category>TfsSdk</category><category>Team</category><category>WCF Facility</category><category>Server Error</category><category>Attachmate</category><category>Novell</category><category>SQL</category><category>Motivation</category><category>Exam 70-536</category><category>Code Analysis</category><category>Windows Workflow Foundation</category><category>Hibernate</category><category>CodeProject</category><category>Schema</category><category>Fear</category><category>Mark Zuckerberg</category><category>Faraconesh</category><category>product</category><category>XAML</category><category>Productivity</category><category>MSDN</category><category>KISS</category><category>RSS</category><category>grep</category><category>Beta</category><category>CRC</category><category>Social benefit</category><category>Native SQL</category><category>History</category><category>Windows Service</category><category>OperationContext</category><category>static stat</category><category>MS Office</category><category>windows phone</category><category>Green Hopper</category><category>web.config</category><category>humor</category><category>Off-Topic</category><category>LINQ</category><category>business</category><category>Project Management</category><category>MySQL</category><category>One-to-One</category><category>Store Procedure</category><category>Charting</category><category>BugNET</category><category>Gmail</category><category>utf-8</category><category>bada</category><category>Xml Serialization</category><category>TFS Power Tools</category><category>joel test</category><category>HQL</category><category>Virtual Server</category><category>DI</category><category>Up-to-date</category><category>Development</category><category>ASP.NET AJAX</category><category>View</category><category>Upgrading</category><category>NHDay</category><category>Upgrade</category><category>Telerik</category><category>Association</category><category>MSDN Way</category><category>stats</category><category>quality</category><category>Restrictions</category><category>Fluent NHibernate</category><category>CLDC</category><category>TortoiseSVN</category><category>Software Architect</category><category>Activity</category><category>Trick</category><category>dll</category><category>Windows 8</category><category>LGPL</category><category>revision control</category><category>Per Call</category><category>Developing</category><category>stat</category><category>XP</category><category>Farids</category><category>Academic</category><category>BugZilla</category><category>SQL Server</category><category>Friends</category><category>ISIRI 6219</category><category>CI</category><category>EnableSEOPaging</category><category>Clustered Index</category><category>Fetch</category><category>Authorization</category><category>Management</category><category>TFS Build</category><category>conference</category><category>Process Template</category><category>Security</category><category>remote connections</category><category>Visual Studio 2010</category><category>Font</category><category>Programming</category><category>ASP.NET MVC</category><category>winform</category><category>afsharm.com</category><category>Throttling</category><category>SMTP</category><category>ALM</category><category>Programmer</category><category>bare</category><category>FDL</category><category>IPv4</category><category>Assembla</category><category>Software</category><category>ISIRI 9147</category><category>Clustered</category><category>VM Ware</category><category>Report Viewer</category><category>Social</category><category>SSADM</category><category>convert</category><category>TFS</category><category>static</category><category>Scott Hanselman</category><category>FSF</category><category>SessionScope</category><category>ActivityPack</category><category>TTX</category><category>Caching</category><category>کد باز</category><category>ascii</category><category>Source Code</category><category>AjaxControlToolkit</category><category>Web Service</category><category>Sequence Diagram</category><category>ADO.NET</category><category>ASP.NET Health Monitoring</category><category>criticism</category><category>Iran</category><category>Stack Overflow</category><category>Concept</category><category>Issue Tracking</category><category>Confusion</category><category>Exhibition</category><category>MCTS</category><category>microsoft</category><category>SQL Express</category><category>Disaster Recovery</category><category>SVN</category><category>Training</category><category>zip</category><category>AnkhSVN</category><title>AfsharM</title><description>My experiences in software development</description><link>http://blog.afsharm.com/</link><managingEditor>noreply@blogger.com (Afshar Mohebbi)</managingEditor><generator>Blogger</generator><openSearch:totalResults>416</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Afsharm" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="afsharm" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-5826300063396522189</guid><pubDate>Wed, 02 May 2012 06:59:00 +0000</pubDate><atom:updated>2012-05-02T11:29:26.480+04:30</atom:updated><title>‫Authentication با استفاده Windows</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt;  در پروژه&amp;zwnj;های ASP.NET وقتی که نیاز به Authentication/Authorization (ورود و خروج به سایت و سطح دسترسی&amp;zwnj;ها) هست معمولاً از Form Authentication استفاده می&amp;zwnj;شود. در این روش یا از Provider توکار ASP.NET استفاده می&amp;zwnj;شود یا یک Provider سفارشی مثل SqliteProvider ساخته می&amp;zwnj;شود.&lt;br /&gt;  &lt;br /&gt;  اما گاهی اوقات هست که هم عجله داریم و هم این که کاربران سایت در حد دو سه نفر بوده و اتفاقاً آن دو سه نفر هم در سیستم کاربری ویندوز سرور کاربر تعریف شده دارند. این طور وقت&amp;zwnj;ها می&amp;zwnj;توان از یک راه خیلی سریع رفت. در این راه خیلی سریع نیاز به اضافه کردن صفحات login به سیستم و تعریف دسترسی&amp;zwnj;ها در Controllerها یا web.configهای فرعی وجود ندارد. فقط فایل web.config است که تغییراتی می&amp;zwnj;کند.&lt;br /&gt;  &lt;br /&gt;  تغییرات web.config عبارتند از:&lt;br /&gt;  &lt;br /&gt;  ۱- استفاده از حالت Windows در authentication &lt;br /&gt;  ۲- اضافه کردن نود کامل location به طوری که مسیرها و نام کاربری&amp;zwnj;های دلخواه در آن تعریف شده باشد.&lt;br /&gt;  ۳- اضافه کردن locationهای دیگر برای کنترل دسترسی به urlها مختلف سایت.&lt;br /&gt;  &lt;br /&gt;  &lt;/div&gt;&lt;/span&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-5826300063396522189?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qTbH7VWZSKXF2h2OZ3thlKl6Q6I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qTbH7VWZSKXF2h2OZ3thlKl6Q6I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qTbH7VWZSKXF2h2OZ3thlKl6Q6I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qTbH7VWZSKXF2h2OZ3thlKl6Q6I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=WbLg4DDyA5E:urGrLCTGYuE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=WbLg4DDyA5E:urGrLCTGYuE:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=WbLg4DDyA5E:urGrLCTGYuE:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/05/authentication-windows.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-7581751004404200566</guid><pubDate>Mon, 16 Apr 2012 06:38:00 +0000</pubDate><atom:updated>2012-04-16T11:08:49.977+04:30</atom:updated><title>افشای اطلاعات بانکی و قصورات ما</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; در شرایطی که بیش از پیش نیاز به اعتماد سازی کاربران و جلب اطمینان عموم مردم داریم (به عنوان دست اندرکاران و مبلغان کامپیوتر، نرم&amp;zwnj;افزار و اینترنت)، رمز سه میلیون کارت بانکی افشا می&amp;zwnj;شود. حالا چطور می&amp;zwnj;توان به مردم کوچه و خیابان و چه بسا هر آدم غیر کامپیوتری دیگری اثبات کرد که استفاده از خدمات اینترنتی و الکترونیکی باعث سهولت در زندگی، صرفه جویی در وقت، دقت بالا در انجام کارها، کاهش هزینه&amp;zwnj;های جانبی، کاهش ترافیک، حفظ محیط زیست، عدالت اجتماعی و غیره می&amp;zwnj;شود؟ چطور می&amp;zwnj;توان به همه این آدم&amp;zwnj;ها توضیح داد که این کار هک و نفوذ به سیستم نبوده بلکه یک کارمند داخلی که دسترسی قانونی به اطلاعات داشته این کار را کرده و این کار در هر جای غیر کامپیوتری دیگری قابل تکرار است. مثلا کارمند ناراضی ثبت احوال، دفاتر ثبت و حتی کارمند دفتری یک مدرسه هم می&amp;zwnj;تواند اطلاعات دم دستش را به سادگی افشا کند حتی اگر اطلاعات صرفا روی کاغذ ثبت شده باشد؟&lt;br /&gt; &lt;br /&gt; البته شکی نیست که پشت قضیه افشای اطلاعات توسط این شخص (با هر نیتی که بوده) امنیت پایین اطلاعات هم قرار داشته است. یعنی اگر امنیت به اندازه کافی بود امکان افشای آنها توسط حتی یک کارمند داخلی هم به حداقل می&amp;zwnj;رسید. شخص افشا کننده اطلاعات (کارمند یکی از شرکت&amp;zwnj;های دست اندرکار امور بانکی) هم به راست یا دروغ مدعی بوده که با قصد اطلاع رسانی به عموم مردم راجع به پایین بودن امنیت اقدام به افشای اطلاعات کرده. &lt;br /&gt; &lt;br /&gt; آیا این آخرین باری است که چنین اتفاقی خواهد افتاد؟ اگر همه دنیا فکر کنند که این آخرین بار است که چنین اتفاقی می&amp;zwnj;افتد اما ما برنامه&amp;zwnj;نویسان، کامپیوتری&amp;zwnj;ها، اینترنتی&amp;zwnj;ها و خصوصاً کارمندان بخش پشتیبانی شرکت&amp;zwnj;ها می&amp;zwnj;دانیم که این آخرین بار نیست و حتی این که امکان تکرار آن بسیار هم بالاست. چرا؟ چون که:&lt;br /&gt; &lt;br /&gt; ۱- طراحان نرم&amp;zwnj;افزار خیلی کم به فکر Hash کردن یکطرفه (روشی برای رمز نگاری) اطلاعات مهم خصوصاً کلمه عبور، کد ملی، شماره شناسنامه، کارت بانکی و غیره هستند. این یعنی این که اگر دیتابیس به دست آدم نامربوطی برسد در عرض چند دقیقه تمام اطلاعات افراد به سادگی آب خوردن لو خواهد رفت. دسترسی به دیتابیس هم برای یک کارمند داخلی کار چندان سختی حساب نمی&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; ۲- معمولا به خاطر ضعف در روش&amp;zwnj;های تست و پشتیبانی، برای آن که یک شرکت پیمانکار بتواند به شرکت کارفرما پشتیبانی نرم&amp;zwnj;افزاری بدهد همه بانک اطلاعاتی آنها را درخواست می&amp;zwnj;کند. اگر مدتی سابقه حضور در یک واحد پشتیبانی را داشته&amp;zwnj;اید حتماً با چشمان خودتان نسخه&amp;zwnj;های مختلف اطلاعات مشتری را در جای جای شبکه، سی&amp;zwnj;دی&amp;zwnj;ها و کامپیوترها بدون هیچ حفاظ و کنترلی دیده&amp;zwnj;اید. اصلاً اگر ایمیل کارمندان پشتیبانی و برنامه&amp;zwnj;نویسی یک شرکت نوعی کامپیوتری را ببنید پر است از اطلاعات حساس مشتریان.&lt;br /&gt; &lt;br /&gt; ۳- بین کاربران ایرانی، چه امور بانکی چه امور غیر بانکی ساده انگاری وحشتناکی در استفاده از رمز عبور وجود دارد. همه رمز همدیگر را می&amp;zwnj;دانند، رمزها سه سال یکبار هم عوض نمی&amp;zwnj;شوند، رمزها بیش از حد ساده و کوتاه هستند و&amp;hellip;&lt;br /&gt; &lt;br /&gt; ۴- استفاده ار پروتکل&amp;zwnj;های امن مثل https در بانکداری الکترونیک و تجارت الکترونیک بنا به دلایلی مثل ممنوعیت&amp;zwnj;های داخلی و تحریم&amp;zwnj;های خارجی بسیار سخت شده است. اگر در حال login به یک وب&amp;zwnj;سایت بدون https هستید، اگر در حال وارد کردن رمز و اطلاعات بانکی خود از تلفن بانک هستید، اگر کلمه عبور یک نرم&amp;zwnj;افزار را از طریق SMS برای کسی می&amp;zwnj;فرستید و&amp;hellip; مطمئن باشید که هر کس دیگری که در فاصله بین شما تا مقصد قرار دارد از جمله همکاران شما در شرکت یا اداره، کارمندان واحد IT، کارمندان شرکت ارائه دهنده اینترنت، کارمندان شرکت تامین کننده فضای اینترنتی و غیره و غیره به اطلاعات شما دسترسی کامل و ساده دارند. فکر نکنید که برای سرقت اطلاعات نیاز به نخبه بودن هست. بلکه ابزارهای زیادی برای این طور کارها وجود دارند که یک فرد اول دبیرستان هم می&amp;zwnj;تواند با کمک آنها هر کاری بکند.&lt;br /&gt; &lt;br /&gt; ۵- استخدام&amp;zwnj;ها و واگذاری پروژه&amp;zwnj;ها به شرکت&amp;zwnj;ها گاهی اوقات بر اساس روابط پسرخالگی، همشهری&amp;zwnj;گری، رفاقتی، همسو بودن گرایشات (...) و غیره انجام می&amp;zwnj;شود. اثر این موضوع خیلی واضح است.&lt;br /&gt; &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-7581751004404200566?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PgHpb_kMcSoqib6lTHZAPMc5K-8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PgHpb_kMcSoqib6lTHZAPMc5K-8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PgHpb_kMcSoqib6lTHZAPMc5K-8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PgHpb_kMcSoqib6lTHZAPMc5K-8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=wvjY9Snbr2o:FkuIODeYYVA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=wvjY9Snbr2o:FkuIODeYYVA:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=wvjY9Snbr2o:FkuIODeYYVA:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/04/blog-post.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-3045322805688294220</guid><pubDate>Mon, 02 Apr 2012 06:39:00 +0000</pubDate><atom:updated>2012-04-02T11:09:25.746+04:30</atom:updated><title>‫دانلود برنامه‌های اندروید از Android Market</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; برای دریافت یک نرم&amp;zwnj;افزار اندرویدی باید از Android Market که جدیداً به Google Play منتقل شده است استفاده کرد. انجام این کار بایستی از طریق خود گوشی یا Device انجام پذیرد. اما متاسفانه به دلیل تحریم&amp;zwnj;های آمریکایی و محدودیت&amp;zwnj;های اینترنت ایران، انجام این کار به سادگی امکان پذیر نیست.&lt;br /&gt; &lt;br /&gt; دو تا از راه&amp;zwnj;های جایگزین می&amp;zwnj;توانند خرید DVDهای نرم&amp;zwnj;افزارهای اندروید از فروشندگان موبایل مثل پاساژ علا الدین یا استفاده از نرم&amp;zwnj;افزار و سایت ایرانی &lt;a href="http://getbazaar.com/fa/"&gt;&amp;laquo;بازار&amp;raquo;&lt;/a&gt; باشد. مشکل این دو راه حل این است که همیشه به روز نیستند و نمی&amp;zwnj;شود همه چیز را هم در آنها پیدا کرد. به سایت&amp;zwnj;های خارجی هم خیلی نمی&amp;zwnj;شود امیدوار بود. برنامه&amp;zwnj;های اندروید را تقریباً از هیچ جایی به جز Android Market (جدیداً Google Play) نمی&amp;zwnj;توان دریافت کرد. اما برای غلبه بر این مشکلات می&amp;zwnj;توان از یک افزونه Chrome به نام &lt;a href="http://codekiem.com/2012/02/24/apk-downloader/"&gt;APK Downloader&lt;/a&gt; استفاده کرد. بعد از نصب و کمی دستکاری می&amp;zwnj;توان به سایت Google Play رفته و همه Applicationهای رایگان را دانلود کرد. &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-3045322805688294220?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kPfkOvbZRGqVK2ozdOOhASvDBGY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kPfkOvbZRGqVK2ozdOOhASvDBGY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kPfkOvbZRGqVK2ozdOOhASvDBGY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kPfkOvbZRGqVK2ozdOOhASvDBGY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=GHbZvCMrEpM:z5LtnMZtFaU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=GHbZvCMrEpM:z5LtnMZtFaU:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=GHbZvCMrEpM:z5LtnMZtFaU:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/04/android-market.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-2606236755757181079</guid><pubDate>Sat, 31 Mar 2012 18:41:00 +0000</pubDate><atom:updated>2012-03-31T23:12:16.853+04:30</atom:updated><title>‫سعی در فهم VoIP</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; POTS&lt;br /&gt; سیستم&amp;zwnj;های تلفنی سنتی. گاهی اوقات هم PSTN نامیده می&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; FXS&lt;br /&gt; در سیستم&amp;zwnj;های تلفن سنتی (POTS) به پریز دیواری گفته می&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; FXO&lt;br /&gt; در سیستم&amp;zwnj;های تلفن سنتی (POTS) به سوکتی گفته می&amp;zwnj;شود که روی تلفن وجود دارد و خط تلفن به آن وصل می&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; PBX&lt;br /&gt; در ایران به آن سانترال یا تلفن داخلی گفته می&amp;zwnj;شود. یک PBX هم FXS دارد هم FXO.&lt;br /&gt; &lt;br /&gt; FXO Gateway&lt;br /&gt; به Gateway گفته می&amp;zwnj;شود که خطوط تلفن سنتی را به سیستم تلفنی مبتنی بر IP متصل می&amp;zwnj;کند. مودم&amp;zwnj;های معمولی کامپیوترها که برای اینترنت Dial Up استفاده می&amp;zwnj;شدند را با شرط و شروطی می&amp;zwnj;توان به جای یک FXO استفاده کرد. اما به دردسر آن نمی&amp;zwnj;ارزد.&lt;br /&gt; &lt;br /&gt; FXS Gateway&lt;br /&gt; به Gateway گفته می&amp;zwnj;شود که تلفن&amp;zwnj;های سنتی را به به سیستم تلفنی مبتنی بر IP متصل می&amp;zwnj;کند.&lt;br /&gt; &lt;br /&gt; FXS Adapter&lt;br /&gt; مشابه FXS Gateway است اما برای فقط یک خط استفاده می&amp;zwnj;شود در حالی که Gateway در مقیاس بزرگتری استفاده می&amp;zwnj;شود و برای اتصال همه خطوط یک سانترال عمل می&amp;zwnj;کند. نام دیگر FXS Adapter همان ATA است.&lt;br /&gt; &lt;br /&gt; SIP&lt;br /&gt; نام یکی از پروتکل&amp;zwnj;های مهم VoIP است.&lt;br /&gt; &lt;br /&gt; IVR&lt;br /&gt; در ایران به آن تلفن گویا گفته می&amp;zwnj;شود. مشابه تلفن بانک است.&lt;br /&gt; &lt;br /&gt; VoIP Provider&lt;br /&gt; در برخی کشورهای دیگر مثل آمریکا به شرکت&amp;zwnj;هایی گفته می&amp;zwnj;شود که به مردم سرویس VoIP می&amp;zwnj;دهند. به نظر می&amp;zwnj;رسد که آنها یک شماره VoIP به مشترک خود اختصاص می&amp;zwnj;دهند و مشترک هم می&amp;zwnj;توانند با دیگران مشترکین حتی در فواصل بسیار دور هم با هزینه کم صحبت نماید.&lt;br /&gt; &lt;br /&gt; Asterisk و 3CX&lt;br /&gt; نام دو تا از VoIP Serverهای معروف است. اولی کد باز و رایگان است و مخصوص لینوکس. دومی پولی است و مخصوص ویندوز&lt;br /&gt; &lt;br /&gt; VoIP در بعضی کشورها مثل امارات ممنوع است. نمی&amp;zwnj;دانم وضعیت در ایران چطور است. مثلا آیا پروتکل&amp;zwnj;های مربوطه باز است یا بسته.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; منابع:&lt;br /&gt; &lt;ul&gt;     &lt;li&gt;     http://www.3cx.com/PBX/FXS-FXO.html&lt;/li&gt;     &lt;li&gt;http://en.wikipedia.org/wiki/Comparison_of_VoIP_software&lt;/li&gt;     &lt;li&gt;http://en.wikipedia.org/wiki/Voice_over_IP&lt;/li&gt; &lt;/ul&gt; &lt;br /&gt; &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-2606236755757181079?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tPSMigfSzQa0auUJ_eLBfor9Ikk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tPSMigfSzQa0auUJ_eLBfor9Ikk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tPSMigfSzQa0auUJ_eLBfor9Ikk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tPSMigfSzQa0auUJ_eLBfor9Ikk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=b3oCAe69tq8:PdUAq_4y81c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=b3oCAe69tq8:PdUAq_4y81c:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=b3oCAe69tq8:PdUAq_4y81c:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/03/voip.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-8466427977899435748</guid><pubDate>Wed, 28 Mar 2012 20:28:00 +0000</pubDate><atom:updated>2012-03-29T00:58:24.656+04:30</atom:updated><title>چرا از فناپ استعفا دادم؟</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; با خودم قرار گذاشته بودم هر وقت که از هر شرکتی بیرون آمدم نقدی منصفانه از آنجا داشته باشم تا بلکه به درد بقیه دوستان هم بخورد. این کار را قبلاً در مورد &lt;a href="http://blog.afsharm.com/2010/06/goodbye-faraconesh.html"&gt;فراکنش&lt;/a&gt; و &lt;a href="http://blog.afsharm.com/2011/07/blog-post.html"&gt;پرشیا شبکه&lt;/a&gt; انجام داده بودم و حالا می&amp;zwnj;خواهم نقدی داشته باشم بر ۸ ماه کار تمام وقت در فناپ و مسائلی که منجر به استعفای من شد. قبل از هر چیز باید ذکر کنم که اواخر کار من در فناپ و نحوه قطع همکاری با فناپ و حتی مسائل بعد از آن به صورت ناخوشایندی اتفاق افتادند و این قطعاً موجب شده نتوانم در این نقادی آنقدر که باید منصف و بیطرف باشم. از طرف دیگر فناپ و زیر مجموعه&amp;zwnj;های آن خیلی بزرگ هستند و این درست نیست که کسی صرفاً با تکیه به نظرات من راجع به کلیت فناپ قضاوت مثبت یا منفی داشته باشد. پس سعی می&amp;zwnj;کنم حتی&amp;zwnj;المقدور سربسته و کمرنگ بنویسم. اگر کسی واقعاً نیاز به اطلاعات دقیق&amp;zwnj;تری نیاز داشت با ایمیل من تماس بگیرد.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;a href="http://fanap.ir"&gt;فناپ&lt;/a&gt; یک شرکت بزرگ در زمینه نرم&amp;zwnj;افزارهای بانکی و غیر بانکی، شبکه و دیگر امور فنی است. عمده معروفیت فناپ در دنیای تجاری به خاطر توان انجام پروژه آن در حوزه ICT و در دنیای برنامه&amp;zwnj;نویس&amp;zwnj;ها به خاطر تیم جاوایی Core Banking آن (تیمی که وظیفه نوشتن و نگهداری از معروف&amp;zwnj;ترین نرم&amp;zwnj;افزار فناپ یعنی نرم&amp;zwnj;افزار بانکی آن را بر عهده دارد) و غلظت آکادمیک مدیران و کارمندان آن است (بسیاری از مدیران و کارمندان فناپ فارغ&amp;zwnj;التحصیلان ممتاز دانشگاه&amp;zwnj;های برتر کشور از جمله شریف و تهران هستند). فناپ متعلق به بانک پاسارگاد است و در دو ساختمان اصلی مطهری و میرداماد مستقر است. فناپ دارای واحدهای داخلی و شرکت&amp;zwnj;های اقماری متعددی است. فناپ را (در زمینه Business) با همین سابقه کم می&amp;zwnj;توان رقیب و هم تراز شرکت&amp;zwnj;های معروفی مثل خدمات انفورماتیک، داده پردازی و کیش ویر دانست.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; اواخر کار در شرکت قبلی پیشنهاد همکاری با فناپ را از یکی از دوستان قدیمی دریافت کرده بودم. اهدافم از کار در فناپ عبارت بودند از:&lt;br /&gt; &lt;br /&gt; ۱- همکاری در پروژه&amp;zwnj;های خیلی بزرگ (Enterprise) و هیجان ناشی از آن.&lt;br /&gt; ۲- ارتقا شغلی و افزایش قدرت مدیریتی چه در سطوح انتخاب و چینش تیم، چه در سطوح انتخاب روش و فناوری و چه در بقیه سطوح.&lt;br /&gt; ۳- ماندگاری چند ساله، تمرکز طولانی مدت بر روی یک نوع کار مشخص و مزایای شغلی بهتر.&lt;br /&gt; ۴- افزایش رضایت شغلی ناشی از کار با افراد حرفه&amp;zwnj;ای، با تجربه و به روز در زمینه توسعه نرم&amp;zwnj;افزار.&lt;br /&gt; ۵- خوش رزومه بودن فناپ&lt;br /&gt; &lt;br /&gt; در اثر همین تصورات، اوایل شروع کار در فناپ انگیزه خیلی شدیدی برای کار داشتم اما به دلایلی که در ادامه به آنها خواهم پرداخت این انگیزه&amp;zwnj;ها آرام آرام از بین رفتند و کم کم جایشان را به ضد انگیزه&amp;zwnj;هایی دادند که تحمل هر ساعت حضور در فناپ را برای من عذاب&amp;zwnj;آور کرده بود.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; از مهم&amp;zwnj;ترین عواملی که باعث نارضایتی من از فناپ شده بود می&amp;zwnj;توان به موارد زیر اشاره کرد:&lt;br /&gt; &lt;br /&gt; ۱- بی&amp;zwnj;نظمی و کم تعهدی در امور قرارداد، پرداخت&amp;zwnj;ها، بیمه و&amp;hellip;&lt;br /&gt; ۲- عدم برداشت یکسان از مفاهیم اصلی مثل برنامه&amp;zwnj;نویسی، فناوری، تست و&amp;hellip;&lt;br /&gt; ۳- عدم امکان استفاده صحیح از تجارب شخصی در برنامه&amp;zwnj;نویسی و مدیریت پروژه.&lt;br /&gt; ۴- محیط بسیار پر نویز و نا آرام که به شدت کارایی تیم برنامه&amp;zwnj;نویسی را پایین آورده بود.&lt;br /&gt; ۵- جو نیروی انسانی بیشتر گرایش داشت به رفتارهای رایج در ادارات دولتی تا شرکت&amp;zwnj;های خصوصی.&lt;br /&gt; ۶- نوسانات در اولویت کارها.&lt;br /&gt; ۷- مدیرانی که همیشه در جلسه بودند و امکان صحبت با آنها به سختی فراهم می&amp;zwnj;شد.&lt;br /&gt; ۸- فشار غیر معمول در ساعات شروع و پایان کار و موارد مشابه.&lt;br /&gt; ۹- میل شخصی خودم نسبت به راه اندازی Business جدیدی که گرداننده و مالک آن خودم باشم.&lt;br /&gt; &lt;br /&gt; مسلماً مدیران فناپ هم توضیحاتی برای این مسائل داشتند. اول این که تیمی که من با آنها کار می&amp;zwnj;کردم علیرغم استقرار در ساختمان فناپ، یک شرکت زیر مجموعه فناپ محسوب می&amp;zwnj;شد. به عبارت دیگر از لحاظ حقوقی من کارمند یکی از شرکت&amp;zwnj;های اقماری فناپ بودم نه کارمند خود فناپ. به نظر مدیران فناپ، عمده شکایات من مربوط می&amp;zwnj;شد به این که شرکت اقماری فوق&amp;zwnj;الذکر در حال انحلال و جذب در خود فناپ بود و کارهای اداری و بوروکراسی ناشی از آن باعث این همه تاخیر، بی&amp;zwnj;نظمی و نارضایتی شده بود. دوم این که فناپی&amp;zwnj;ها همیشه مدعی بودند که شرایط بد مورد ذکر من دائمی نیست و باید به چشم یک دوره گذار به آن نگاه کرد.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; حالا (فروردین ۱۳۹۱) که این مطلب را می&amp;zwnj;نویسم بیش از سه ماه از خروج من از فناپ گذشته است. طی این مدت منتظر تسویه حساب کامل بودم تا بتوانم نظری کلی راجع به روند همکاری با فناپ داشته باشم. همکاری با فناپ با همه مشکلاتی که برای شخص من و طبیعتاً مدیران من داشت، اما تجارب جالب و دوستان خوبی هم به همراه داشت. همینجا از همه دوستانم در فناپ، از جمله مجید، امیر علی (عباس)، مسعود، خانم قیصری، رضا، کیکاووس (علیرضا)، مهدی، داوود، آرش و بقیه به خاطر تحمل رفتارهای شاکیانه من در چند هفته آخر عذرخواهی کرده و روزهای خوبی را برای آنها آرزو دارم.&lt;br /&gt; &lt;br /&gt; بعد از فناپ در هیچ شرکت دیگری استخدام نشدم بلکه کار جدید خودم را با همکاری تعدادی از دوستان جدید و پر انگیزه و راه اندازی &amp;laquo;فردا پرداز&amp;raquo; شروع کردم. برای کسب اطلاعات بیشتر به &lt;a href="http://fardapardaz.com/"&gt;وب&amp;zwnj;سایت فردا پرداز&lt;/a&gt;، &lt;a href="http://fardapardaz.com/blogs/fp"&gt;وبلاگ رسمی آن&lt;/a&gt; یا دیگر وبلاگ&amp;zwnj;های آن از جمله &lt;a href="http://fardapardaz.com/blogs/pelikan"&gt;وبلاگ پلیکان&lt;/a&gt; مراجعه کنید.&lt;br /&gt; &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-8466427977899435748?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PSjPKJhd3TUFqpkx0yB7dIXe-J8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PSjPKJhd3TUFqpkx0yB7dIXe-J8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PSjPKJhd3TUFqpkx0yB7dIXe-J8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PSjPKJhd3TUFqpkx0yB7dIXe-J8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=yosUhsSmkuQ:WfaGqNjfOLg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=yosUhsSmkuQ:WfaGqNjfOLg:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=yosUhsSmkuQ:WfaGqNjfOLg:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/03/blog-post.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-8199459800149540368</guid><pubDate>Fri, 24 Feb 2012 21:59:00 +0000</pubDate><atom:updated>2012-02-25T01:49:51.839+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">FardaPardaz</category><category domain="http://www.blogger.com/atom/ns#">Declarative Programming</category><category domain="http://www.blogger.com/atom/ns#">Blog</category><title>وبلاگ جدید در زمینه برنامه‌نویسی</title><description>&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="direction: rtl; text-align: right;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;پس از راه اندازی &lt;a href="http://fardapardaz.com/"&gt;«مجموعه فردا پرداز» &lt;/a&gt;که به زودی به یک شخصیت حقوقی تبدیل خواهد شد تصمیم گرفتم &lt;a href="http://fardapardaz.com/blogs.html"&gt;سیستم وبلاگ‌های آن &lt;/a&gt;را راه‌اندازی کنم تا همکاران &lt;a href="http://fardapardaz.com/"&gt;«فردا پرداز»&lt;/a&gt; بتوانند در آنجا از تجارب خود در&lt;a href="http://fardapardaz.com/"&gt; «فردا پرداز» &lt;/a&gt;بنویسند. از آنجا که خودم هم از همکاران&lt;a href="http://fardapardaz.com/"&gt; «فردا پرداز» &lt;/a&gt;محسوب می‌شوم یک وبلاگ فنی در آنجا راه انداخته‌ام به نام &lt;a href="http://fardapardaz.com/blogs/mohebbi"&gt;«محبی | نوشته‌های فنی افشار محبی در فردا پرداز»&lt;/a&gt;. وبلاگ فردا پرداز من از نظر محتوا با این وبلاگ هم راستا است. یعنی هر دو راجع به برنامه‌نویسی و مسائل مرتبط هستند ولی هر دو وبلاگ کاملاً از هم مستقل بوده و قرار نیست فعالیت یکی، آن یکی دیگر را تعطیل کند. فعلاً به نوشتن در هر دوی این وبلاگ‌ها ادامه می‌دهم. &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;آدرس وبلاگ فردا پرداز من &lt;a href="http://fardapardaz.com/blogs/mohebbi"&gt;http://fardapardaz.com/blogs/mohebbi&lt;/a&gt; و آدرس فید (خوراک) آن &lt;a href="http://fardapardaz.com/blogs/mohebbi/default.aspx/syndication.axd"&gt;http://fardapardaz.com/blogs/mohebbi/default.aspx/syndication.axd&lt;/a&gt; است. در ضمن فهرست کامل وبلاگ‌های فردا پرداز در &lt;a href="http://fardapardaz.com/blogs.html"&gt;این آدرس &lt;/a&gt;قرار دارد.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-8199459800149540368?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/48w7lMk1WGxy78q570JXpm4OKZE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/48w7lMk1WGxy78q570JXpm4OKZE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/48w7lMk1WGxy78q570JXpm4OKZE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/48w7lMk1WGxy78q570JXpm4OKZE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=tH5yB3OIM9w:c6pCWLIs84o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=tH5yB3OIM9w:c6pCWLIs84o:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=tH5yB3OIM9w:c6pCWLIs84o:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/02/blog-post_25.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-6296412739786891968</guid><pubDate>Mon, 20 Feb 2012 21:50:00 +0000</pubDate><atom:updated>2012-02-25T13:59:53.286+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">FardaPardaz</category><category domain="http://www.blogger.com/atom/ns#">careers</category><category domain="http://www.blogger.com/atom/ns#">Job</category><title>جذب همکار برنامه‌نویس در فردا پرداز</title><description>&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="direction: rtl; text-align: right;"&gt;&lt;div style="text-align: center;"&gt;.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;.&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;در گروه &lt;a href="http://fardapardaz.com/"&gt;«فردا پرداز»&lt;/a&gt; به تعدادی برنامه‌نویس با انگیزه، به روز، با پشتکار و خلاق در حوزه فناوری‌های نوین دات‌نت نیازمندیم. محل فعالیت تهران - سعادت آباد می‌باشد اما تحت شرایطی امکان همکاری به صورت دور کاری (مقیم در شهری غیر از تهران) هم فراهم می‌باشد. لطفاً جهت ارسال رزومه از ایمیل jobs روی دامنه FardaPardaz.com استفاده کنید. لطفاً قبل از ارسال رزمه &lt;a href="http://fardapardaz.com/careers-developers.html" target="_blank"&gt;اینجا &lt;/a&gt;را ببینید.&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-6296412739786891968?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AbK8oGDKKL6f53e4NSEGa2NJ8QU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AbK8oGDKKL6f53e4NSEGa2NJ8QU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AbK8oGDKKL6f53e4NSEGa2NJ8QU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AbK8oGDKKL6f53e4NSEGa2NJ8QU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=rc2wItHGOVQ:YdI7W42Ipa4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=rc2wItHGOVQ:YdI7W42Ipa4:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=rc2wItHGOVQ:YdI7W42Ipa4:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/02/blog-post.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-7362402368573363836</guid><pubDate>Wed, 15 Feb 2012 06:42:00 +0000</pubDate><atom:updated>2012-02-15T15:18:43.713+03:30</atom:updated><title>‫مشکل Jira و مودم D-Link</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; جیرا را در سرور نصب کرده بودم و از طریق NAT یک مودم D-Link امکان دسترسی به بیرون را برای آن فراهم کرده بودم. از داخل هیچ مشکلی نداشت اما یکی از کاربران نمی&amp;zwnj;توانست از بیرون با جیرا کار کند. مورد را از طریق یک VPS چک کردم، از آنجا هم جیرا دیده نمی&amp;zwnj;شد. جیرا یک برنامه جاوایی است که توسط Application Server خودش host می&amp;zwnj;شود نه از طریق IIS. بنابراین باید پورت جداگانه&amp;zwnj;ای به آن اختصاص داده می&amp;zwnj;شد. پورت انتخابی من همان پورت پیش فرض یعنی 8080 بود. برای رفع مشکل مراحل مختلفی را دنبال کردم:&lt;br /&gt; &lt;br /&gt; ۱- در اولین مرحله به ISP شک کردم. بلافاصله تماس گرفتم و از آنها خواستم که باز بودن پورت 8080 را بررسی کنند. پورت باز بود. NATهای مختلفی را با کمک ISP امتحان کردیم. وقتی که فقط ۸۰۸۰ در NAT تعریف می&amp;zwnj;شد مشکلی وجود نداشت. وقتی که همه پورت&amp;zwnj;های ۱ تا ۶۵۵۳۵ هم در NAT باز می&amp;zwnj;شد باز هم مشکلی وجود نداشت. اما باز کردن پورت&amp;zwnj;های ۸۰ و ۸۰۸۰ به طور همزمان امکان پذیر نبود. مودم من که در اینجا نقش Router را بازی می&amp;zwnj;کرد یک خاصیت دارد که وقتی در NAT آن پورت ۸۰ باز شود اعلام می&amp;zwnj;کند که پورت وب داخلی به ۸۰۸۰ منتقل شد. در مورد FTP هم مورد مشابهی اتفاق می&amp;zwnj;&amp;zwnj;افتاد. این مورد می&amp;zwnj;توانست سر نخی باشد.&lt;br /&gt; &lt;br /&gt; ۲- در تنطیمات Router قسمتی وجود داشت به نام Acess Control Services. در آنجا اسم تعدادی سرویس فهرست شده بود. همه سرویس&amp;zwnj;ها را غیر فعال کردم. دسترسی به Router را برای همیشه از دست دادم ولی مشکل جیرا حل شد.&lt;br /&gt; &lt;br /&gt; ۳- به نمایندگی D-Link در ایران زنگ زدم گفتند راهی وجود ندارد که Web Server داخلی به پورت دیگری منتقل شود اما بهتر است از telnet استفاده کنید. مودم را مجددا تنظیم کردم و این به بار به جز سرویس telnet بقیه سرویس&amp;zwnj;های Acess Control Services را غیر فعال کردم. با telnet می&amp;zwnj;توانستم به Router وصل شوم. مقدار زیادی وقت گذاشتم ولی امکانات telnet آنقدر زیاد نبود که بتوانم NAT دیگری را تعریف کنم یا Acess Control Services را تغییر دهم.&lt;br /&gt; &lt;br /&gt; ۴- به عوض کردن پورت جیرا رضایت دادم. مودم را مجددا تنظیم کردم و در NAT آن گفتم که پورت ۸۰۹۰ بیرون به پورت ۸۰۸۰ داخل وصل شود. مشکل بیرون با استفاده از پورت جدید حل شد. اما از داخل نمی&amp;zwnj;توانستم با همان آدرس و پورت بیرون کار کنم. سعی کردم پورت خود جیرا را هم به پورت جدید تغییر دهم اما موفق نشدم.&lt;br /&gt; &lt;br /&gt; ۵- مجدداً به عدم دسترسی به مودم رضایت دادم. همه سرویس&amp;zwnj;ها به جز telnet را غیر فعال کردم. مشکل حل نشد. مودم را برای بار چندم مجددا تنظیم کردم و این بار همه سرویس&amp;zwnj;ها را غیر فعال کردم. اما بر خلاف دفعه اول مشکل جیرا حل نشد. اصلا نفهمیدم چرا.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; ۶- یک بار دیگر مودم را به طور معمولی تنظیم کردم. همه پورت&amp;zwnj;های ۱ تا ۶۵۵۳۵ را در NAT تعریف کردم و جیرا کار کرد. اما باز گذاشتن تمام پورت&amp;zwnj;ها اصلا راه عاقلانه&amp;zwnj;ای نبود. آنها را بستم.&lt;br /&gt; &lt;br /&gt; ۷- داشتم نا امیدانه به خرید یک Router درست و حسابی فکر می&amp;zwnj;کردم اما ضمن آن که می&amp;zwnj;&amp;zwnj;ترسیدم عین مشکل در آنجا هم وجود داشته باشد به سرم زد یک بار دیگر با تعریف NAT بازی کنم. با چند بار امتحان دیگر به این رسیدم که اول پورت ۸۰۸۰ را تعریف کنم و بعد پورت ۸۰ را. این روش در اولین قدم کار کرد. یعنی از بیرون هم پورت ۸۰ باز بود و هم پورت ۸۰۸۰. ترسیدم که با خاموش و روشن شدن مودم یا سرور دوباره به حالت اول برگردم. دو بار مودم را Boot کردم ولی هیچ چیزی از کار نیفتاد. بالاخره از کابوس ۸ صبح تا ۳ بعد از ظهر نجات پیدا کردم!&lt;br /&gt; &lt;br /&gt; نکته: اگر فقط از ابزارهای دات نتی به جای جیرا استفاده می&amp;zwnj;کردم مشکلات خیلی کمتری داشتم. حداقلش این بود که نیاز به پورت جدیدی غیر از پورت ۸۰ نبود و با IIS سالهاست که کار می&amp;zwnj;کنم. اما جیرا خیلی قدرتمندتر از آن است که بشود آن را به خاطر چنین مشکلاتی کنار گذاشت.&lt;br /&gt; &lt;br /&gt; &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-7362402368573363836?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7mnyAj-CdEfocwNWaRTrfZKvbRg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7mnyAj-CdEfocwNWaRTrfZKvbRg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7mnyAj-CdEfocwNWaRTrfZKvbRg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7mnyAj-CdEfocwNWaRTrfZKvbRg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=XOqpb297HXg:fdYkwZIIJGI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=XOqpb297HXg:fdYkwZIIJGI:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=XOqpb297HXg:fdYkwZIIJGI:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/02/jira-d-link.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-8150384973366885278</guid><pubDate>Wed, 08 Feb 2012 13:12:00 +0000</pubDate><atom:updated>2012-02-08T16:42:35.492+03:30</atom:updated><title>‫راه اندازی FTP با استفاده از Windows Server 2008 R2 و IIS 7.5</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;&lt;div style="direction: rtl; text-align: right;"&gt; برای راه اندازی FTP در یک سرور معمولاً راهی غیر از IIS پیشنهاد می&amp;zwnj;شود به این دلیل که IIS مشکلات زیادی در این راه دارد. اما از آنجا که من به خاصیت Signle Sign On ارائه شده توسط Active Directory نیاز داشتم مجبور بودم راه IIS و ویندوز را انتخاب کنم. راه اندازی FTP با کمک IIS خیلی راحت است اما به شرطی که Firewall ویندوز را خاموش نگه دارید. به محض آن که فایروال روشن شود حتی اگر پورت&amp;zwnj;های ۲۰ و ۲۱ مستثنا شده باشند نمی&amp;zwnj;توان از FTP استفاده کرد. &lt;br /&gt; &lt;br /&gt; برای نصب FTP روی IIS و ویندوز ابتدا با فرض خاموش بودن فایروال جلو می&amp;zwnj;رویم و بعد از آن راه اندازی آن کامل شد می&amp;zwnj;گوییم که چه کاری باید انجام دهیم تا با روشن بودن فایروال باز هم FTP کار کند.&lt;br /&gt; &lt;br /&gt; ۱- در ویندوز سرور ۲۰۰۸ آر ۲ همه Roleهای مورد نیاز را فعال می&amp;zwnj;کنیم. Role اصلی همان وب سرور یا IIS است. با نگاهی به زیر آیتم&amp;zwnj;های آن می&amp;zwnj;توان به موارد مورد نیاز دیگر پی برد.&lt;br /&gt; &lt;br /&gt; ۲- برنامه IIS را باز کرده و روی مورد Sites راست کلیک کنید.&lt;br /&gt; &lt;br /&gt; ۳- گزینه Add FTP Site را می&amp;zwnj;زنید.&lt;br /&gt; &lt;br /&gt; ۴- گزینه No SSL را در مرحله بعدی انتخاب کنید.&lt;br /&gt; &lt;br /&gt; ۵- در مرحله بعد نوع Authentication را که قاعدتا Basic خواهد بود انتخاب کنید. Basic یعنی کاربران باید به هنگام استفاده از FTP Server نام کاربری و کلمه عبور تعریف شده خودشان را وارد کنند. این که چه کسی به چه فولدری چه دسترسی دارد چیزی است که برای کل سایت در اینجا و به ازای زیر شاخه&amp;zwnj;های آن بعدا به طور جداگانه تعریف می&amp;zwnj;شود. تعیین دسترسی&amp;zwnj;ها در اینجا با عنوان Authorization شناخته می&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; ۶- بعد از این که مراحل نصب تمام شد می&amp;zwnj;توانید با کلیک روی هر کدام از شاخه&amp;zwnj;ها و سپس انتخاب گزینه FTP Authorization میزان دسترسی به هر کدام از شاخه&amp;zwnj;ها را تعیین کنید.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; در این مرحله FTP به خوبی کار می&amp;zwnj;کند و هیچ مشکل ندارد. اما با روشن شدن فایروال همه چیز از کار خواهد افتاد. در ادامه مراحل مورد نیاز برای تنظیم صحیح فایروال توضیح داده می&amp;zwnj;شود.&lt;br /&gt; &lt;br /&gt; ۷- فایروال را روشن کنید و پورت&amp;zwnj;های ۲۰ و ۲۱ را باز کنید. هیچ اتفاق خاصی نمی&amp;zwnj;افتد و از بیرون فایروال نمی&amp;zwnj;توان به FTP دسترسی داشت.&lt;br /&gt; &lt;br /&gt; ۸- در IIS روی FTP Server مربوطه کلیک کنید. &lt;br /&gt; &lt;br /&gt; ۹- گزینه FTP Firewall Support را انتخاب کنید.&lt;br /&gt; &lt;br /&gt; ۱۰- شما باید پورت&amp;zwnj;های دیگری غیر از پورت&amp;zwnj;های ۲۰ و ۲۱ را در فایروال باز کنید. اما کدام پورت&amp;zwnj;ها؟ گزینه Data Channel Port Range محدوده این پورت&amp;zwnj;ها را که به عنوان پورت دیتا معروفند را بر عهده دارد. اما گزینه بیشتر وقت&amp;zwnj;ها غیر فعال است و عدد 0-0 را نمایش می&amp;zwnj;دهد.&lt;br /&gt; &lt;br /&gt; ۱۱- عدد 0-0 یعنی از پورت&amp;zwnj;های پیش فرض برای عملیات موقتی TCP/IP که اصطلاحاً Ephermeral نامیده می&amp;zwnj;شود استفاده خواهد شد. این پورت&amp;zwnj;های موقتی در ویندوز سرور ۲۰۰۸ از پورت شماره ۴۹۱۵۲ شروع و تا ۶۵۵۳۵ ادامه دارند. این پورت&amp;zwnj;ها را در فایروال باز کرده و با خیال راحت از FTP استفاده کنید. جهت کسب اطلاعات بیشتر راجع به این پورت&amp;zwnj;ها به &lt;a href="http://www.iis.net/ConfigReference/system.ftpServer/firewallSupport"&gt;اینجا&lt;/a&gt; مراجعه کنید.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-8150384973366885278?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/L9o1YVUZZX1vJLZmIXk4HhKhAq4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L9o1YVUZZX1vJLZmIXk4HhKhAq4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/L9o1YVUZZX1vJLZmIXk4HhKhAq4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/L9o1YVUZZX1vJLZmIXk4HhKhAq4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=j5ndIp02fqA:ipkG1b2pGUg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=j5ndIp02fqA:ipkG1b2pGUg:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=j5ndIp02fqA:ipkG1b2pGUg:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/02/ftp-windows-server-2008-r2-iis-75.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-2606709522034954946</guid><pubDate>Tue, 07 Feb 2012 19:28:00 +0000</pubDate><atom:updated>2012-02-07T22:59:11.275+03:30</atom:updated><title>GitAspx Authorization</title><description>&lt;span style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"&gt;As a git lover on Windows platform I am always searching for a way to set up a Windows git server. A perfect way is indeed SSH but setting it up on Windows is a really hard task. In addition to it I never succeeded to setup authorization with it. A user could access all git repositories once he has correct user/password.&lt;br /&gt; &lt;br /&gt; One of my favorite git servers in Windows is &lt;a href="http://github.com/JeremySkinner/git-dot-aspx"&gt;GitAspx&lt;/a&gt;. It is over simple HTTP and it has not very secured. It is also a bit slower than native git. But with all disadvantages it is very easy, handy and simple to install. GitAspx can be secured with IIS Basic Authentication. But by default has no obvious authorization. It's a long time that I'm searching for a way to define authorization on GitAspx. Fortunately I have found a way for it inspiring from a question in &lt;a href="http://stackoverflow.com/questions/7794773/iis7-5-how-to-prevent-prompt-for-credentials-when-folder-blocked-by-url-author"&gt;SO&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt; The solution is based on URL authorization in IIS 7.5. GitAspx has not physical folder for each git repo so you can not add a web.config to each folder and set authorization there. Here I used location node in web.config to allow/deny access to different git repositories. This is a sample web.config:&lt;br /&gt; &lt;br /&gt; &lt;pre class="brush:csharp"&gt; &lt;!--?xml version="1.0" encoding="utf-8"?--&gt; &lt;!--   For more information on how to configure your ASP.NET application, please visit   http://go.microsoft.com/fwlink/?LinkId=152368   --&gt; &lt;configuration&gt; &lt;appsettings&gt; &lt;add value="C:\Repo" key="RepositoriesDirectory"&gt; &lt;add value="true" key="ReceivePack"&gt; &lt;add value="true" key="UploadPack"&gt; &lt;/add&gt;&lt;/add&gt;&lt;/add&gt;&lt;/appsettings&gt; &lt;system.web&gt; &lt;compilation targetframework="4.0" debug="true"&gt; &lt;assemblies&gt; &lt;add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"&gt; &lt;add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"&gt; &lt;add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"&gt; &lt;/add&gt;&lt;/add&gt;&lt;/add&gt;&lt;/assemblies&gt; &lt;/compilation&gt; &lt;httpruntime maxrequestlength="1048576" executiontimeout="10000"&gt; &lt;authentication mode="None"&gt; &lt;forms timeout="2880" loginurl="~/Account/LogOn"&gt; &lt;/forms&gt; &lt;/authentication&gt; &lt;pages&gt; &lt;namespaces&gt; &lt;add namespace="System.Web.Mvc"&gt; &lt;add namespace="System.Web.Mvc.Ajax"&gt; &lt;add namespace="System.Web.Mvc.Html"&gt; &lt;add namespace="System.Web.Routing"&gt; &lt;/add&gt;&lt;/add&gt;&lt;/add&gt;&lt;/add&gt;&lt;/namespaces&gt; &lt;/pages&gt; &lt;/httpruntime&gt;&lt;/system.web&gt; &lt;system.webserver&gt; &lt;validation validateintegratedmodeconfiguration="false"&gt; &lt;modules runallmanagedmodulesforallrequests="true"&gt; &lt;security&gt; &lt;authorization&gt; &lt;remove users="*"&gt; &lt;add users="SuperUser" accesstype="Allow"&gt; &lt;/add&gt;&lt;/remove&gt;&lt;/authorization&gt; &lt;/security&gt; &lt;/modules&gt;&lt;/validation&gt;&lt;/system.webserver&gt; &lt;location path="FirstRepo.git"&gt; &lt;system.webserver&gt; &lt;security&gt; &lt;authorization&gt; &lt;remove users="*"&gt; &lt;add users="user1" accesstype="Allow"&gt; &lt;/add&gt;&lt;/remove&gt;&lt;/authorization&gt; &lt;/security&gt; &lt;/system.webserver&gt; &lt;/location&gt; &lt;location path="SecondRepo.git"&gt; &lt;system.webserver&gt; &lt;security&gt; &lt;authorization&gt; &lt;remove users="*"&gt; &lt;add users="user2" accesstype="Allow"&gt; &lt;/add&gt;&lt;/remove&gt;&lt;/authorization&gt; &lt;/security&gt; &lt;/system.webserver&gt; &lt;/location&gt; &lt;runtime&gt; &lt;assemblybinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt; &lt;dependentassembly&gt; &lt;assemblyidentity publickeytoken="31bf3856ad364e35" name="System.Web.Mvc"&gt; &lt;bindingredirect newversion="2.0.0.0" oldversion="1.0.0.0"&gt; &lt;/bindingredirect&gt;&lt;/assemblyidentity&gt;&lt;/dependentassembly&gt; &lt;/assemblybinding&gt; &lt;/runtime&gt; &lt;/configuration&gt; &lt;/pre&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-2606709522034954946?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/F64DHI7BJj8wC7Cjak_usoEAla0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F64DHI7BJj8wC7Cjak_usoEAla0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/F64DHI7BJj8wC7Cjak_usoEAla0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/F64DHI7BJj8wC7Cjak_usoEAla0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=OCF2HSgrZoE:WV1Vf-lvkC0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=OCF2HSgrZoE:WV1Vf-lvkC0:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=OCF2HSgrZoE:WV1Vf-lvkC0:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/02/gitaspx-authorization.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-6708563945540915223</guid><pubDate>Tue, 31 Jan 2012 15:08:00 +0000</pubDate><atom:updated>2012-01-31T18:36:43.599+03:30</atom:updated><title>‫خطایابی در WCF</title><description>&lt;div style="direction:rtl; text-align:right"&gt; log گیری در بیشتر برنامه‌های می‌تواند خطاهایی را که هیچ کس موفق به کشف آن نشده است را پیدا کند. WCF هم در این مورد استثنا نیست. در WCF اگر بخواهید یک enum را از طریق سرویس‌ها انتقال دهید باید روی تک تک اعضای آن از اتریبیوت [EnumMember] استفاده کنید. من یک جا به جای استفاده از [EnumMember] از [DataMember] که مخصوص اعضای کلاس است استفاده کرده بودم. به چیزهایی خیلی زیادی شک کرده بودم، همه آنها را امتحان کردم، از روش‌های مختلف دیباگ هم استفاده کردم ولی نفهمیدم که علت مشکل An existing connection was forcibly closed by the remote host چیست.&lt;br&gt;&lt;br&gt;خدا به گردانندگان و کاربران SO خیر بدهد. از طریق یکی از &lt;a  href="http://stackoverflow.com/questions/7209823/an-existing-connection-was-forcibly-closed-by-the-remote-host-wcf" target='_blank'&gt;سوالات SO&lt;/a&gt; ترغیب شدم که لاگ WCF را فعال کنم. خوشبختانه لاگ تولید شده به من گفت که مشکل از کجاست. فعال کردن لاگ WCF خیلی ساده است، در حد اضافه کردن چند خط به app.config. لطفاً نگاهی به &lt;a  href="http://msdn.microsoft.com/en-us/library/ms732023.aspx" target='_blank'&gt;اینجا&lt;/a&gt; بیندازید.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-6708563945540915223?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BZQjj__S2-UPIaSc1xyym80vB6w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BZQjj__S2-UPIaSc1xyym80vB6w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BZQjj__S2-UPIaSc1xyym80vB6w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BZQjj__S2-UPIaSc1xyym80vB6w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=T21tG6SzVdo:2q4jyqch9xA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=T21tG6SzVdo:2q4jyqch9xA:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=T21tG6SzVdo:2q4jyqch9xA:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/wcf.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-6877332328419684030</guid><pubDate>Sun, 22 Jan 2012 10:55:00 +0000</pubDate><atom:updated>2012-01-22T14:23:38.464+03:30</atom:updated><title>‫Templify چیست؟</title><description>&lt;div style="direction:rtl; text-align:right"&gt; آیا شما هم از جمله کسانی هستید که هر چند وقت یک بار در شرکت‌تان یک پروژه جدید را new کرده و کار را با کپی کردن از یک سورس پایه و تغییر قسمت‌های مختلف آن از جمله نام پروژه، namespace، اسامی موجود در web.config و غیره ادامه می‌دهید؟ آیا از انجام این کار تکراری خسته شده‌اید؟ آیا اشتباهات ضمنی این کپی کاری آبروی شما را چندین بار در شرکت برده است؟ اگر جواب همه این سوالات مثبت است بهتر است نگاهی به ابزار Templify بیندازید.&lt;br&gt;&lt;br&gt;Templify ابزاری است که در نگاه اول کارش شبیه به Templateهای ایجاد پروژه در Visual Studio و ابزار NuPack به نظر می‌رسد. اما سازندگان این ابزار مدعی هستند Templify کارهایی می‌کند که دو ابزار فوق در انجام آن مشکل دارند. کار Templify ایجاد یک پروژه جدید بر اساس Templateهای از پیش تعریف شده است. فرض کنید پروژه‌ی پایه‌ای که هر روز در شرکت با آن سر و کار دارید یک Visual Studio Solution است که از چند Visual Studio Project با نام‌های BaseProj.Core، BaseProj.Web و BaseProj.Test تشکیل شده است. شما می‌توانید این solution را به صورت یک package به Templify معرفی کنید. من بعد می‌توانید با سادگی چند کلیک از Templify بخواهید که instance جدیدی از این پروژه برای شما بسازد. Templify یک نام از شما می‌گیرد و نام پروژه، namespaceها و دیگر موارد مشابه را خودش تغییر می‌دهد. مثلا اگر نام مورد نظر شما MyProj باشد، نام پروژه‌ها و اسمبلی‌ها و غیره به MyProj.Core، MyProj.Web و MyProj.Test تغییر می‌یابد. برای دیدن یک راهنمای خوب به &lt;a  href="http://weblogs.asp.net/alecwhittington/archive/2010/10/10/using-templify-to-create-a-new-s-arp-architecture-solution.aspx" target='_blank'&gt;اینجا&lt;/a&gt; مراجعه کنید. صفحه اصلی Templify هم در &lt;a  href="http://opensource.endjin.com/templify/" target='_blank'&gt;اینجا&lt;/a&gt; قرار دارد.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-6877332328419684030?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tx1qxgTLHwuMQztJmozb-vd4LZE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tx1qxgTLHwuMQztJmozb-vd4LZE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tx1qxgTLHwuMQztJmozb-vd4LZE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tx1qxgTLHwuMQztJmozb-vd4LZE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=hwGDD_NGcR4:kdIVSYFFfFE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=hwGDD_NGcR4:kdIVSYFFfFE:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=hwGDD_NGcR4:kdIVSYFFfFE:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/templify.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-292681411188798379</guid><pubDate>Wed, 11 Jan 2012 09:57:00 +0000</pubDate><atom:updated>2012-01-11T13:26:42.067+03:30</atom:updated><title>‫راه افتادن در ASP.NET MVC و jQuery</title><description>&lt;div style="direction:rtl; text-align:right"&gt; به خاطر پروژه‌ای که درگیرش هستم باید ASP.NET MVC و jQuery را هم بلد باشم. بخش MVC پروژه خیلی وقت است که شروع شده ولی jQuery آن تازه به جریان افتاده است. اولین استفاده از jQuery مربوط به است به نمایش یک Popup و دریافت اطلاعات از طریق آن. هنوز دستم در MVC و jQuery آنقدر راه نیفتاده که بتوانم در مورد بخشی از آن چیزی بنویسم ولی انتقال اولین تجربه‌های این دو خالی از لطف نیست.&lt;br&gt;&lt;br&gt;استفاده از MVC برای کسی که مدت‌ها برنامه‌نویس ASP.NET WebForm بوده تجربه دلهره‌آوری است. از روی شنیده‌ها می‌دانستم که MVC بخشی از کارهای خودکار WebForm را که باعث جدایی برنامه‌نویس و ماهیت طبیعی HTML و Web شده بود را حذف کرده است. یعنی در MVC از یک جایی به بعد این خود برنامه‌نویس است که باید ارتباط Server و Client را برقرار کند. هر چقدر که پروژه بیشتر جلو می‌رفت حس می‌کردم که فاصله‌ام با جدایی موعود کمتر و کمتر می‌شود. حسی شبیه به take-off هواپیما از روی زمین، با کمی اغراق.&lt;br&gt;&lt;br&gt;فکر می‌کنم که دیروز این لحظه جدایی فرا رسید و من یاد گرفتم که چطور یک Form را با کمک Html.BeginForm در MVC بسازم، اطلاعات آن را با کمک ‎$("#FormId").serialize()‎ و ‎$.post()‎ در jQuery به سرور ارسال کنم و در نهایت در سرور با استفاده از متودی در Controllerهای تعریف شده MVC سمت سرور اطلاعات را دریافت کرده و مورد پردازش قرار دهم. &lt;br&gt;&lt;br&gt;حالا که آن دلهره را پشت سر گذاشته‌ام (اقلاً بخشی از آن را)، آن حس تبدیل به حسی شیرین و ظفرمندانه شده است. علاوه بر این حس می‌کنم بعد از مدت‌ها توانسته‌ام با کد client side آشتی کرده و با احترام با آن برخورد کنم. در این رابطه باید ممنون پروژه و &lt;a  href="http://iwantmymvc.com/dialog-form-with-jqueryui-and-mvc-3" target='_blank'&gt;راهنمایی مفید یک سایت&lt;/a&gt; باشم.&lt;br&gt;&lt;br&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-292681411188798379?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-QI670D-spjYpMHVg477xDBKZNY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-QI670D-spjYpMHVg477xDBKZNY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-QI670D-spjYpMHVg477xDBKZNY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-QI670D-spjYpMHVg477xDBKZNY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=8IzBZf5EItU:-H9Cf2FBUL8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=8IzBZf5EItU:-H9Cf2FBUL8:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=8IzBZf5EItU:-H9Cf2FBUL8:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/aspnet-mvc-jquery.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>14</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-5233628671199844528</guid><pubDate>Tue, 10 Jan 2012 14:37:00 +0000</pubDate><atom:updated>2012-01-10T18:05:09.940+03:30</atom:updated><title>ارتباطات شبه دو طرفه</title><description>&lt;div style="direction:rtl; text-align:right"&gt; تویتر، فیس‌بوک، گوگل ریدر و بقیه خدمات مشابه چیزهای خیلی خوبی هستند. اما حیف که دو تا بدی دارند. اول این که اینترنتی هستند و به محض وقوع مشکل در اینترنت دچار مشکل می‌شوند. دوم این که به علت تعاملی بودن ممکن است مقدار زیادی از وقت کاربر را ببلعند. یعنی این که کاربر خود را دقایق طولانی به خود مشغول داشته و باعث پایین آمدن شدید «بهره‌وری» شخص گردند. اصلاً شاید به همین دلیل است که خیلی از شرکت‌ها استفاده از امکاناتی مثل تویتر را در داخل شرکت ممنوع اعلام می‌کنند.&lt;br&gt;&lt;br&gt;از طرف دیگر مزایای تویتر و… بیش از آن است که بتواند به سادگی اجازه قطع آنها را بدهد. شخصاً:&lt;br&gt;&lt;br&gt;* دوستان زیادی را از طریق شبکه‌های ارتباطی و به طور کلی اینترنت پیدا کرده‌ام، &lt;br&gt;* جواب خیلی از سوالاتم را از طریق همین شبکه‌ها پیدا کرده‌ام، &lt;br&gt;* این شبکه‌ها همیشه کمک بسیار خوبی برای شناساندن من به دیگران بوده است&lt;br&gt;* کمک کرده‌اند که از تنهایی دربیایم و چندین مزیت دیگر.&lt;br&gt;&lt;br&gt;&lt;br&gt;پس چه باید کرد که هم مزیت‌ها را داشت و هم از معایب آن دور بود؟ قدیم‌ترها که مشکل مشابهی با ایمیل‌های فراوان روزانه داشتم به روش «یک بار اول وقت، یک بار آخر وقت عمل» می‌کردم. یعنی ایمیل‌هایم را فقط در اول روز و آخر روز نگاه می‌کردم و به این ترتیب مقدار زیادی از وقتم صرفه‌جویی می‌شد. اما در مورد چیزی مثل تویتر نمی‌شود از چنین روشی استفاده کرد. چون یک موضوع خاص در یک لحظه خاص است که به ذهن آدم خطور می‌کند و همان لحظه باید تویت شود. اگر چنین چیزی به آخر وقت منتقل شود حتی ممکن است در اثر فراموشی از ذهن انسان خارج شده باشد.&lt;br&gt;&lt;br&gt;برای رفع این مشکل می‌خواهم از روش ارتباطات شبه دو طرفه (یک و نیم طرفه) استفاده کنم. یعنی هر نوع تویت یا updateی را در همان لحظه تبادر به ذهن ارسال کنم ولی بازخورد (واکنش دوستان، followerها و…) را فقط شب به شب نگاه کرده و جواب می‌دهم. برای ارسال هم صرفا از ابزارهای یک طرفه مثل «ایمیل به تویتر» و «SMS به تویتر» استفاده می‌کنم. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;* * *&lt;br&gt;&lt;br&gt;پ.ن. ۱: همینجا از دوستانی که ممکن است به «بازخوردشان» با زمان طولانی جواب بدهم عذرخواهی می‌کنم.&lt;br&gt;پ.ن. ۲: حساب تویتر من &lt;a  href="http://twitter.com/mohebbi" target='_blank'&gt;mohebbi&lt;/a&gt; است.&lt;br&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-5233628671199844528?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NEPpfD5KoKEFbWHv0qeNPVc80FM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NEPpfD5KoKEFbWHv0qeNPVc80FM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NEPpfD5KoKEFbWHv0qeNPVc80FM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NEPpfD5KoKEFbWHv0qeNPVc80FM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=L0uBQXTl_HQ:Go6a_YK5cso:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=L0uBQXTl_HQ:Go6a_YK5cso:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=L0uBQXTl_HQ:Go6a_YK5cso:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/blog-post.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-191102090327381596</guid><pubDate>Sun, 08 Jan 2012 06:39:00 +0000</pubDate><atom:updated>2012-01-08T10:07:17.612+03:30</atom:updated><title>‫مشکل عدم شناخت UpdatePanel توسط ویژوال استودیو</title><description>&lt;div style="direction:rtl; text-align:right"&gt; آنهایی که از اوایل Ajax در ASP.NET که با اسم رمز Atlas آغاز شد کار با آن را شروع کردند خوب می‌دانند که مایکروسافت چندین و چند بار اسم پروژه، Namesapceها، نام dll، شماره version و حتی بود و نبودش را در دل ‎.Net Framework عوض کرده است. ظاهراً هنوز هم مشکلات ویژوال استودیو با مجموعه UpdatePanel/ScriptManager و… حل نشده است.&lt;br&gt;&lt;br&gt;در یک Class Library چند فایل ascx داشتیم که داخل آنها از UpdatePanel و ScriptManager استفاده شده بود. به دلیل یک تغییر اسم کلی همه این فایل‌ها را یک بار باز و بسته کرده بودم و دقیقاً از همان لحظه دچار مشکل شده بودم. چون ویژوال استودیو نمی‌توانست پروژه را Build کند. عنوان خطا این بود که ویژوال استودیو نمی‌تواند System.Web.UI.WebControls.UpdatePanel را در dllهای موجود پیدا کند. چندین و چند بار رفرنس‌های System.Web و System.Web.Extensions را پاک کرده و دوباره اضافه کردم ولی مشکل حل نشد.&lt;br&gt;&lt;br&gt;نهایتاً گره این مشکل با راهنمایی یکی از دوستان خوب و دقیق ما یعنی سامان باز شد. این مشکل یک باگ شناخته شده ویژوال استودیو ۲۰۱۰ است. وقتی که فایل ascx (یا aspx) در ویژوال استودیو باز می‌شود، خود ویژوال استودیو به اشتباه namespace مربوط به UpdatePanel و بقیه را به System.Web.UI.WebControls.UpdatePanel تغییر می‌دهد در حالی که درست آن System.Web.UI.UpdatePanel است. یعنی تیکه WebControls اضافی بوده است. من این مشکل را در designer مشاهده کرده‌ام.&lt;br&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-191102090327381596?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RlYwhLj2XcYAL764C-iRWHNlA74/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RlYwhLj2XcYAL764C-iRWHNlA74/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RlYwhLj2XcYAL764C-iRWHNlA74/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RlYwhLj2XcYAL764C-iRWHNlA74/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=ZBdmuxMzw5w:-7e-ttBScBo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=ZBdmuxMzw5w:-7e-ttBScBo:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=ZBdmuxMzw5w:-7e-ttBScBo:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/updatepanel.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-100010896606002294</guid><pubDate>Sun, 08 Jan 2012 05:22:00 +0000</pubDate><atom:updated>2012-01-08T08:55:34.406+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">View</category><category domain="http://www.blogger.com/atom/ns#">Castle ActiveRecord</category><title>‫‫View به عنوان یک Domain Entity در Castle ActiveRecord</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;گاهی اوقات تلفیقی از چند جدول با شرایط خاص داریم که می‌خواهیم آن را به چشم یک Domain Entity نگاه کنیم. در حالت عادی انجام این کار خیلی ساده است. کافی است یک View از تلفیق آن جداول بسازیم و View را مطابق نمونه زیر به عنوان یک Domain Entity تعریف کنیم:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="direction: ltr; text-align: left;"&gt;&lt;pre class="brush:csharp"&gt;[ActiveRecord("SampleView")]
    public class SampleDomain : ActiveRecordBase&amp;lt;SampleDomain&amp;gt;
    {
        [Property]
        public virtual string Prop1 { set; get; }

        [Property]
        public virtual string Prop2 { set; get; }
    }
&lt;/pre&gt;&lt;/div&gt;&lt;div style="direction: rtl; text-align: right;"&gt;در اینجا SampleView نام View دیتابیسی است و Prop1 و Prop2 نام دو تا از ستون‌های آن است.&lt;br /&gt;
&lt;br /&gt;
اما اگر ما یک Entity پایه داشتیم و حتماً باید همه Entityها از آن Entity پایه ارث‌بری می‌کردند چه باید می‌کردیم؟ Entityهای پایه معمولا دارای Propertyهای مشترکی مثل Id و LastModifyDate هستند. فرض کنید اسم آن Entity پایه EntityBase بود. آن وقت Domain Entity مورد نظر به شکل زیر در می‌آمد:&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="direction: ltr; text-align: left;"&gt;&lt;pre class="brush:csharp"&gt;[ActiveRecord("SampleView")]
    public class SampleDomain : BaseEntity&amp;lt;SampleDomain&amp;gt;
    {
        [Property]
        public virtual string Prop1 { set; get; }

        [Property]
        public virtual string Prop2 { set; get; }
    }
&lt;/pre&gt;&lt;/div&gt;&lt;div style="direction: rtl; text-align: right;"&gt;تنها تفاوتی که به وجود آمد ارث‌بری از BaseEntity به جای خود ActiveRecordBase بود. البته View دیتابیسی مورد نظر باید شامل همه Propertyهای مشترک تعریف شده در BaseEntity هم باشد مثل Id و LastModifyDate.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-100010896606002294?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VimpatVLof5hiGl3-pPx0jiGnh0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VimpatVLof5hiGl3-pPx0jiGnh0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VimpatVLof5hiGl3-pPx0jiGnh0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VimpatVLof5hiGl3-pPx0jiGnh0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=cWxWC_i-Log:IoV2-oE33bA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=cWxWC_i-Log:IoV2-oE33bA:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=cWxWC_i-Log:IoV2-oE33bA:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2012/01/view-domain-entity-castle-activerecord.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-4115062701124251732</guid><pubDate>Sat, 31 Dec 2011 03:30:00 +0000</pubDate><atom:updated>2011-12-31T08:13:39.409+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">criticism</category><category domain="http://www.blogger.com/atom/ns#">assholism</category><title>بی‌شعوری</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;شاید جای این نوشته در این وبلاگ نباشد ولی مگر نه این که معضلات اجتماعی در محل کار نیز آزار دهنده است؟&lt;br /&gt;
&lt;br /&gt;
تازگی‌ها به طور اتفاقی از طریق یکی از خوانندگان همین وبلاگ کتابی به دستم رسیده است به نام «بی‌شعوری» نوشته خاویر کرمنت ترجمه محمود فرجامی. این کتاب به خاطر لحن تند و بی‌پرده‌اش هرگز موفق به اخذ مجوز از وزارت فرهنگ و ارشاد نشده است ولی در عوض به صورت یک کتاب الکترونیکی منتشر شده و از خیلی از سایت‌های اینترنتی قابل دریافت است. &lt;br /&gt;
&lt;br /&gt;
این کتاب راجع به آدم‌هایی است که خودشان را دانای مطلق و صاحب همیشگی حق می‌دانند و از این راه آزار و اذیت زیادی به دیگران و به جامعه اطرافشان می‌رسانند. «بی‌شعور» اسمی است که نویسنده کتاب به این دست آدم‌ها داده است.&lt;br /&gt;
&lt;br /&gt;
آیا شما هم در شرکت یا تیم‌تان با چنین افرادی برخورد داشته‌اید؟ برنامه‌نویسی که به غلط موفقیت یک پروژه را با حماقتش در کدنویسی، همکاری تیمی افتضاح و انگیزش انفعالی به چالش می‌کشد؟ طراح و تحلیل‌گری که تمام توانش را در تولید یک documentation بی‌ارزش و به درد نخور مصرف می‌کند؟ گرافیستی که همه هنرش فقط کپی ناشیانه و بلامصرفش از جستجوهای ناشیانه‌تر اینترنتی است؟ مدیر پروژه یا مدیر فنی که با نادانی تمام همه اصول ضروری را زیر پا گذاشته و فقط بر اساس تجربیات و حدسیات غلط خودش کار را جلو می‌برد؟ مدیر عاملی که تمام هم و غمش زرنگ‌بازی در امور قراردادها، کاهش مزایا و سو استفاده از حق و حقوق کارمندانش است؟ اگر فکر می‌کنید برخورد نداشته‌اید کمی بیشتر دقت کنید…&lt;br /&gt;
&lt;br /&gt;
پ.ن.: نگاهی هم به &lt;a href="http://webnote.ir/post/1390/06/22/information-transfer.aspx"&gt;این لینک&lt;/a&gt; بیندازید.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-4115062701124251732?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jN8xnMRUYDWSjdgOJeeNp1qvlpc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jN8xnMRUYDWSjdgOJeeNp1qvlpc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jN8xnMRUYDWSjdgOJeeNp1qvlpc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jN8xnMRUYDWSjdgOJeeNp1qvlpc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=k49uR1FvwNg:uzAYRYHBgtU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=k49uR1FvwNg:uzAYRYHBgtU:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=k49uR1FvwNg:uzAYRYHBgtU:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/blog-post_31.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-5902593016430302548</guid><pubDate>Fri, 30 Dec 2011 03:30:00 +0000</pubDate><atom:updated>2011-12-30T07:00:02.168+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET MVC</category><category domain="http://www.blogger.com/atom/ns#">Book</category><title>‫کتاب Pro ASP.NET MVC 3</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;3هر وقت که مجبور شوم یک چیز جدید یاد بگیرم یکی از اولین کارهایی که انجام می‌دهم پیدا کردن یک منبع یا کتاب خوب برای یاد گرفتن آن است. برای کار روی یک پروژه ASP.NET MVC باید مقداری اطلاعات MVC خودم را به روز می‌کردم و چند مثال عملی می‌دیدم. به همین خاطر از چند جا پرس و جو کردم و به کتاب Apress Pro ASP.NET MVC 3 Framework by Adam Freeman and Steven Sanderson رسیدم. &lt;br /&gt;
&lt;br /&gt;
اولین نکته‌ای که با خواندن این کتاب به ذهن می‌رسد این است که نویسندگان فرض کرده‌اند خواننده هیچ اطلاعات قبلی راجع به MVC ندارد. به همین خاطر کلی راجع به MVC توضیح داده‌اند. علاوه بر این مقدار زیادی هم راجع به C#‎ و Visual Studio توضیحات مفصل داده‌اند. به همین خاطر این کتاب برای کسانی که می‌خواهند از ASP.NET WebForm به ASP.NET MVC سویچ کنند و ضمناً مدت‌ها با C#‎ برنامه‌نویسی کرده‌اند کمی نامناسب شده است.&lt;br /&gt;
&lt;br /&gt;
در کل این کتاب مخصوص مبتدی‌ها نوشته شده است. برای کسانی که می‌خواهند برنامه‌نویسی و برنامه‌نویسی وب را تازه با ASP.NET MVC شروع کنند. خوانندگان حرفه‌ای‌تر کتاب باید بعضی فصول را جا بگذارند و خیلی فصول دیگر را هم سرسری ورق بزنند. در یک کلام نباید گول حجم ۸۴۰ صفحه‌ای آن را بخورند.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-5902593016430302548?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jDVZMuhKCW_pQiwHJJDYDCiWENg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDVZMuhKCW_pQiwHJJDYDCiWENg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jDVZMuhKCW_pQiwHJJDYDCiWENg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDVZMuhKCW_pQiwHJJDYDCiWENg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=pYBIRQ_8F1Q:hESK4KUe64Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=pYBIRQ_8F1Q:hESK4KUe64Y:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=pYBIRQ_8F1Q:hESK4KUe64Y:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/pro-aspnet-mvc-3.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-3480985230953092499</guid><pubDate>Thu, 29 Dec 2011 03:30:00 +0000</pubDate><atom:updated>2011-12-29T07:00:00.069+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">TFS Power Tools</category><category domain="http://www.blogger.com/atom/ns#">TFS</category><title>‫امکانات جانبی برای TFS</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;از زمانی که کار با TFS 2010 را شروع کرده بودم به تدریج کمبود بعضی امکانات را حس کردم. مثلاً Policy اجباری بودن comment به هنگام check-in یا تعیین کل buildهای در حال اجرا یا ابزارهایی برای ساده شدن مکانیزم backup/restore.&lt;br /&gt;
&lt;br /&gt;
قرار بود یک سری از این ابزارها را خودمان بسازیم. مثلاً با API مربوطه در TFS کار کرده و تیکه کدی برای اعمال یک سری Policyهای خاص در زمان check-in بنویسیم. خوشبختانه این بار کمبود وقت و تنبلی به نفع ما تمام شد. چون طی مدت این یک سال خود مایکروسافت مجموعه‌ای از این ابزارهای کوچک و به در بخور را ایجاد، در کنار هم گذاشته و تحت عنوان TFS Power Tools منتشر کرده است.&lt;br /&gt;
&lt;br /&gt;
این مجموعه علاوه بر این کار بیشتر درخواست‌های ما را پوشش داده بلکه تعدادی امکان مفید دیگر را هم اضافه کرده است. برای کسب اطلاعات بیشتر به لینک دریافت آن یعنی &lt;a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f"&gt;Team Foundation Server Power Tools December 2011&lt;/a&gt; مراجعه کنید.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-3480985230953092499?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4YPG-c6sAU9ZE-hoof_WJ74EKKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4YPG-c6sAU9ZE-hoof_WJ74EKKI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4YPG-c6sAU9ZE-hoof_WJ74EKKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4YPG-c6sAU9ZE-hoof_WJ74EKKI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=fZzmeaY92YM:SG-F80vq6gA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=fZzmeaY92YM:SG-F80vq6gA:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=fZzmeaY92YM:SG-F80vq6gA:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/tfs.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-7079460464040237911</guid><pubDate>Wed, 28 Dec 2011 03:30:00 +0000</pubDate><atom:updated>2011-12-28T07:00:01.823+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Autofac WCF</category><category domain="http://www.blogger.com/atom/ns#">Autofac</category><category domain="http://www.blogger.com/atom/ns#">NuGet</category><category domain="http://www.blogger.com/atom/ns#">Experience</category><title>Experiences with NuGet, Autofac and Autofac WCF</title><description>&lt;div style="direction: ltr; text-align: left;"&gt;Days ago I started to work on a new multi-tenant WCF,EF,MVC project. A Visual Studio solution consisted of some projects. Data layer was handled by EF, communication between pieces of software was handled with WCF and front end was baked with ASP.NET MVC. Additionally all references were made via NuGet. &lt;br /&gt;
&lt;br /&gt;
During this project I faced several problems. First of them was Autofac. Autofac is a nice .Net IoC library but I had some problems with it. I never knew that Autofac WCF is a separate assembly. One reason was that I thought NuGet will download all references for me. I spent many time to configuring Autofac WCF but because I had no reference to Autofac WCF I thought it is because my version of Autofac is old. So tried to compile it.&lt;br /&gt;
&lt;br /&gt;
Another problem with Autofac was that documentations has a lot content on hosting a WCF service via Autofac but many poor content on how to consume a WCF service via Autofac. Because of this I was confused how to consume a WCF service via Autofac.&lt;br /&gt;
&lt;br /&gt;
Initializing Autofac with MVC was not so problematic. Just using sample codes. ASP.NET MVC is great on receiving instances on constructors.&lt;br /&gt;
&lt;br /&gt;
NuGet bothered a little. It was because I was not very familiar with it. I was using it incorrectly.&lt;br /&gt;
&lt;br /&gt;
Entity Framework was not very problematic in first steps. Hope to not have no problems with it as a NHibernate fun.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-7079460464040237911?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/A-z4AXFNUVfozxq8eUzIAV2a8a4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A-z4AXFNUVfozxq8eUzIAV2a8a4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/A-z4AXFNUVfozxq8eUzIAV2a8a4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A-z4AXFNUVfozxq8eUzIAV2a8a4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=u5sLTAH20WQ:q2ZN43aAmDs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=u5sLTAH20WQ:q2ZN43aAmDs:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=u5sLTAH20WQ:q2ZN43aAmDs:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/experiences-with-nuget-autofac-and.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-6540133378931928206</guid><pubDate>Tue, 27 Dec 2011 06:43:00 +0000</pubDate><atom:updated>2011-12-27T10:13:20.130+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOPA</category><category domain="http://www.blogger.com/atom/ns#">Internet</category><category domain="http://www.blogger.com/atom/ns#">America</category><title>‫قانون SOPA</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;سوپا قانونی است که در کنگره آمریکا در حال تصویب است. تصویب این قانون اعتراضات بسیار زیادی را در آمریکا و اروپا بر انگیخته است. ظاهراً سوپا برای حفاظت از کپی رایت نوشته شده ولی خیلی‌ها معتقدند این قانون به کنگره و دولت آمریکا توانایی حذف هر گونه صدای مخالف را می‌دهد.&lt;br /&gt;
&lt;br /&gt;
سوپا افراد، شرکت‌ها و حتی موتورهای جستجو را ملزم می‌کند که اگر سایتی قوانین کپی‌رایت را رعایت نکرده بود آن را از لیست سرویس‌ها حذف کنند. مثلاً اگر شرکت مورد بحث گوگل است، آن سایت را در فهرست نتایج نیاورد، اگر ISP است، آن سایت را باز نکند. اگر facebook است آن سایت یا صفحه را پاک کند.&lt;br /&gt;
&lt;br /&gt;
این قانون فقط در آمریکا اجرا می‌شود. به همین علت خیلی از آمریکایی‌ها معتقدند این قانون باعث می‌شود بسیاری از آمریکایی‌ها برای فرار از این قانون اطلاعاتشان را در کشورهای اروپایی و آسیایی host کنند که این موضوع خود به خود باعث کاهش امنیت اطلاعات آمریکا خواهد شد. &lt;br /&gt;
&lt;br /&gt;
برای کسب اطلاعات بیشتر به &lt;a href="http://en.wikipedia.org/wiki/Stop_Online_Piracy_Act"&gt;اینجا&lt;/a&gt;، &lt;a href="http://barsam.ir/archive/%D9%82%D8%A7%D9%86%D9%88%D9%86-%D9%81%DB%8C%D9%84%D8%AA%D8%B1%DB%8C%D9%86%DA%AF-%D8%A2%D9%85%D8%B1%DB%8C%DA%A9%D8%A7-%D9%88-%D8%B9%D9%88%D8%A7%D9%82%D8%A8-%D8%A2%D9%86/"&gt;اینجا&lt;/a&gt; و &lt;a href="http://barsam.ir/archive/%D9%86%DA%AF%D8%B1%D8%A7%D9%86%DB%8C-%D9%BE%D8%AF%D8%B1-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D8%B2-%D8%B1%D9%88%D8%A7%D8%AC-%D8%B3%D8%A7%D9%86%D8%B3%D9%88%D8%B1-%D8%A8%DB%8C%E2%80%8C/"&gt;اینجا&lt;/a&gt; نگاه کنید.&lt;br /&gt;
&lt;br /&gt;
نمی‌دانم قانون سوپا روی ما ایرانی‌ها چه تاثیری خواهد داشت.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-6540133378931928206?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bpyKc61AKtTi68zY9UQWYrKhwRU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bpyKc61AKtTi68zY9UQWYrKhwRU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bpyKc61AKtTi68zY9UQWYrKhwRU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bpyKc61AKtTi68zY9UQWYrKhwRU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=-YWIWs0EupY:1NRaSO7c3UU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=-YWIWs0EupY:1NRaSO7c3UU:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=-YWIWs0EupY:1NRaSO7c3UU:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/sopa.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-5531653473372347321</guid><pubDate>Mon, 26 Dec 2011 10:32:00 +0000</pubDate><atom:updated>2011-12-26T14:02:14.116+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">NuGet</category><title>‫کمی درباره NuGet</title><description>&lt;div style="direction: rtl; text-align: right;"&gt;از بازار داغ شدن &lt;a href="http://nuget.org/"&gt;NuGet&lt;/a&gt; خیلی وقت است که می‌گذرد. طبق یک اصل احمقانه مبتنی بر ترس و بی‌اعتمادی به چیزهای جدید من هم مثل خیلی‌های دیگر چندان سراغی از NuGet نگرفته بودم. اما طی مدت اخیر مجبور شدم با NuGet کار کنم. بلد نبودن نحوه کار NuGet هم باعث شد وقتم تلف شود و هم بعد از این که کار با NuGet را یاد گرفتم فهمیدم که انجام کارها با NuGet می‌توانسته سرعت پیشرفت تعدادی از پروژه‌های قدیمی را افزایش دهد.&lt;br /&gt;
&lt;br /&gt;
NuGet ابزاری کمکی است که با نصب در Visual Studio به شما کمک می‌کند تا dllهای پروژه‌های Open Source یا رایگان را راحت‌تر به دست بیاورید. NuGet مدیریت updateهای شما را به عهده می‌گیرد یعنی می‌تواند نسخه‌های جدید dllها را به صورت خودکار یا دستی به روز رسانی کند. ظاهراً NuGet یک سری کارهای configuration مربوط به dll را هم انجام می‌دهد. NuGet شامل مجموعه‌ای از کتابخانه‌های مختلف است. این کتابخانه‌ها توسط سازندگانشان در مجموعه NuGet به روز رسانی می‌شوند. کتابخانه‌های بسیار زیادی در NuGet وجود دارند از مایکروسافتی‌ها بگیر تا مواردی مثل NHibernate و Castle.&lt;br /&gt;
&lt;br /&gt;
به نظر من دو تا از موانع مهم رواج NuGet در ایران یکی عدم دسترسی خوب به اینترنت برای همه developerهاست و دیگری تشویق developerها به استفاده از آخرین نسخه کتابخانه‌هاست که به مذاق خیلی‌ها در تیم‌های تولید نرم‌افزار ایرانی خوش نمی‌آید.&lt;br /&gt;
&lt;br /&gt;
جهت کسب اطلاعات بیشتر به &lt;a href="http://nuget.org/"&gt;سایت رسمی «نیو گت»&lt;/a&gt; یا به &lt;a href="http://www.dotnettips.info/2011/04/nuget.html"&gt;نوشته «وحید نصیری» در همین رابطه&lt;/a&gt; مراجعه فرمایید.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-5531653473372347321?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-A_1TbW7tD0BBkccuopLSsAN1ew/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-A_1TbW7tD0BBkccuopLSsAN1ew/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-A_1TbW7tD0BBkccuopLSsAN1ew/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-A_1TbW7tD0BBkccuopLSsAN1ew/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=_0dOX0fZHwQ:5cDxsw7kn8Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=_0dOX0fZHwQ:5cDxsw7kn8Y:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=_0dOX0fZHwQ:5cDxsw7kn8Y:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/nuget.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-9044628214231658158</guid><pubDate>Tue, 20 Dec 2011 13:04:00 +0000</pubDate><atom:updated>2011-12-20T16:36:40.115+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Autofac</category><category domain="http://www.blogger.com/atom/ns#">WCF Facility</category><category domain="http://www.blogger.com/atom/ns#">WCF</category><title>Wrong problem with Autofac WCF Integration</title><description>&lt;div style="direction: ltr; text-align: left;"&gt;&lt;a href="http://code.google.com/p/autofac/"&gt;Autofac &lt;/a&gt;is a brand new .Net Dependency Injection / IoC just like &lt;a href="http://stw.castleproject.org/Windsor.MainPage.ashx"&gt;Castle Windsor&lt;/a&gt;, etc. Autofac like Castle has a nice &lt;a href="http://code.google.com/p/autofac/wiki/WcfIntegration"&gt;WCF integration facility&lt;/a&gt;. I was trying hard to establish a self hosted WCF server using Autofac. But was not successful at all. I guessed that is because of IP, Windows Firewall, Administration rights, version incompatibility and everything you say. &lt;br /&gt;
&lt;br /&gt;
I tried Autofac samples but couldn't get them running. After all I tried &lt;a href="http://alexmg.com/post/2010/05/07/Self-Hosting-WCF-Services-with-the-Autofac-WCF-Integration.aspx"&gt;Alex's solution&lt;/a&gt; for second or third time and realized that his sample works very fine. By watching error messages from Microsoft WcfTestClient more carefully that was clear that an internal error was occurring. But how an internal error could be viewed by WcfTestClient? Yes you are right, by using IncludeExceptionDetailInFaults. I found that in a question on SO &lt;a href="http://stackoverflow.com/questions/2483178/set-includeexceptiondetailinfaults-to-true-in-code-for-wcf"&gt;here&lt;/a&gt;. So my modified version of Alex's sample goes as here:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush:csharp"&gt;private static void StartServerOriginal()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; ContainerBuilder builder = new ContainerBuilder();
&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.Register(c =&amp;gt; new MySecurityManager()).As&amp;lt;IMySecurityManager&amp;gt;();

&amp;nbsp;&amp;nbsp;&amp;nbsp; using (IContainer container = builder.Build())
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri address = new Uri("http://localhost:8046/MySecurityManager");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServiceHost host = new ServiceHost(typeof(MySecurityManager), address);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.AddServiceEndpoint(typeof(IMySecurityManager), new BasicHttpBinding(), string.Empty);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IComponentRegistration registration;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!container.ComponentRegistry.TryGetRegistration(new TypedService(typeof(IMySecurityManager)), out registration))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("The service contract has not been registered in the container.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Environment.Exit(-1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (host.Description.Behaviors[typeof(ServiceDebugBehavior)] as ServiceDebugBehavior).IncludeExceptionDetailInFaults = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Description.Behaviors.Add(new AutofacDependencyInjectionServiceBehavior(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; container, typeof(MySecurityManager), registration));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true, HttpGetUrl = address });

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Open();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("The host has been opened.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host.Close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Environment.Exit(0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
&lt;/pre&gt;&lt;br /&gt;
By running WcfTestClient again I found that some of my own service contract's exceptions were not marked as Serializable!&lt;br /&gt;
&lt;br /&gt;
Oh Autofac, please forgive me, as I am a former user of Castle WCF Facility, I was thinking root cause of problem was you! Sorry, the problem was in my own code.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-9044628214231658158?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d9kCr2NjOTe0jGyBZPrdaz8OYNA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d9kCr2NjOTe0jGyBZPrdaz8OYNA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d9kCr2NjOTe0jGyBZPrdaz8OYNA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d9kCr2NjOTe0jGyBZPrdaz8OYNA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=wpoY3AKxirM:K-ng2XqkcHg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=wpoY3AKxirM:K-ng2XqkcHg:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=wpoY3AKxirM:K-ng2XqkcHg:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/wrong-problem-with-autofac-wcf.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-1725098751498932135</guid><pubDate>Mon, 19 Dec 2011 12:38:00 +0000</pubDate><atom:updated>2011-12-19T16:08:12.916+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">FardaPardaz</category><category domain="http://www.blogger.com/atom/ns#">mobile</category><category domain="http://www.blogger.com/atom/ns#">Java ME</category><category domain="http://www.blogger.com/atom/ns#">Babouneh</category><title>ادامه اولین تجربه با برنامه‌نویسی موبایل</title><description>&lt;div style='direction:rtl; text-align:right'&gt;مدتی بود که روی برنامه‌نویسی موبایل با جاوا مانور می‌دادم. &lt;a href="http://blog.afsharm.com/2011/11/platform.html"&gt;اینجا&lt;/a&gt;، &lt;a href="http://blog.afsharm.com/2011/11/java-me_19.html"&gt;اینجا&lt;/a&gt; و &lt;a href="http://blog.afsharm.com/2011/11/java-me.html"&gt;اینجا&lt;/a&gt; را ببینید. طی این مدت به عنوان نمونه روی یک نرم‌افزار جاوایی کار می‌کردم. چند روز پیش این نرم‌افزار در قالب &lt;a href="http://fardapardaz.com/products/nam-nameh-babouneh.html"&gt;برنامه‌های فردا پرداز&lt;/a&gt; به طور رسمی در سایت &lt;a href="http://download.com"&gt;download.com&lt;/a&gt; به &lt;a href="http://download.cnet.com/Babouneh/3000-2132_4-75627779.html?tag=rb_content;contentBody"&gt;این آدرس&lt;/a&gt; قرار گرفت و آماده دریافت شد. اطلاعات بیشتر در &lt;a href="http://blog.fardapardaz.com/post/2011/12/19/%D8%A7%D9%88%D9%84%DB%8C%D9%86-%D9%86%D8%B3%D8%AE%D9%87-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84%DB%8C-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D8%A7%D8%B3%D9%85.aspx"&gt;وبلاگ فردا پرداز&lt;/a&gt; موجود است.&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-1725098751498932135?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/edAaciOc0YOtR2AdrrmSTlr1Tew/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/edAaciOc0YOtR2AdrrmSTlr1Tew/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/edAaciOc0YOtR2AdrrmSTlr1Tew/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/edAaciOc0YOtR2AdrrmSTlr1Tew/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=ZnSXThGe9NI:jdotGI62RNM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=ZnSXThGe9NI:jdotGI62RNM:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=ZnSXThGe9NI:jdotGI62RNM:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/blog-post_19.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7752604992674614388.post-5905789365130826018</guid><pubDate>Wed, 14 Dec 2011 09:22:00 +0000</pubDate><atom:updated>2011-12-14T12:52:17.711+03:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Foundation of Programming</category><category domain="http://www.blogger.com/atom/ns#">Translation</category><category domain="http://www.blogger.com/atom/ns#">Book</category><category domain="http://www.blogger.com/atom/ns#">Community</category><title>ترجمه کتاب اصول برنامه‌نویسی</title><description>&lt;div style='direction:rtl; text-align:right'&gt;کتاب &lt;a href="http://blog.afsharm.com/2011/08/foundation-of-programming.html" target="_blank"&gt;«اصول برنامه‌نویسی»&lt;/a&gt; همان طور که از اسمش پیداست، کتابی است راجع به اصول برنامه‌نویسی (مهندسی نرم‌افزار)، اما بر خلاف دیگر کتاب‌ها بیشتر یک کتاب عملی است تا یک کتاب تئوری. حدود چهار ماه پیش ترجمه این کتاب به صورت &lt;a href="http://blog.afsharm.com/2011/08/blog-post.html" target="_blank"&gt;یک کار گروهی داوطلبانه&lt;/a&gt; شروع شد.قرار بود ترجمه‌ها ۴ هفته‌ای تمام شوند که البته تمام شد. ولی مدت زمان زیادی صرف ویراستاری و تا اندازه‌ای هم صفحه‌بندی کتاب شد که آن هم خیلی غیر طبیعی نبود. به هر صورت ترجمه، ویراستاری و صفحه‌بندی کتاب هم اکنون به پایان رسیده و به صورت &lt;a href="http://foppersian.codeplex.com/" target="_blank"&gt;یک کتاب الکترونیکی&lt;/a&gt; منتشر شده و از &lt;a href="http://foppersian.codeplex.com/releases/view/78664"&gt;این آدرس&lt;/a&gt; قابل دریافت است. فهرست دوستانی که در این کار همکاری داشته‌اند به شرح ذیل است:&lt;br /&gt;
&lt;br /&gt;
ایلیا وکیلی: ویراستار&lt;br /&gt;
معمار نرم‌افزار&lt;br /&gt;
reticent at@sign gmail.com&lt;br /&gt;
&lt;br /&gt;
محمد صاحب: مقدمه&lt;br /&gt;
برنامه‌نویس&lt;br /&gt;
&lt;a href="http://dotnetdev.info/" target="_blank"&gt;dotnetdev.info&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
افشار محبی: فصل یک و دو&lt;br /&gt;
طراح و برنامه‌نویس دات‌نت&lt;br /&gt;
&lt;a href="http://afsharm.com/" target="_blank"&gt;afsharm.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
علیرضا ارومند: فصل سه&lt;br /&gt;
برنامه‌نویس دات‌نت&lt;br /&gt;
&lt;a href="http://oroumand.com/" target="_blank"&gt;oroumand.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
فاطمه علیمردانی: فصل چهار&lt;br /&gt;
برنامه‌نویس&lt;br /&gt;
alimardani.kh at@sign gmail.com&lt;br /&gt;
&lt;br /&gt;
صابر سلیمانی: فصل پنج و صفحه‌بندی&lt;br /&gt;
توسعه‌دهنده نرم‌افزار&lt;br /&gt;
&lt;a href="http://abugslife.ir/" target="_blank"&gt;abugslife.ir&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
امیر حسین رهنما: فصل شش&lt;br /&gt;
برنامه نویس دات نت و اندروید&lt;br /&gt;
amirrahnama at@sign gmail.com&lt;br /&gt;
&lt;br /&gt;
ابراهیم بیاگوی: فصل هفت&lt;br /&gt;
آزاد کار&lt;br /&gt;
ebrahim at@sign byagowi.com&lt;br /&gt;
&lt;br /&gt;
نادر مینایی: فصل هشت&lt;br /&gt;
برنامه‌نویس دات‌نت&lt;br /&gt;
nader.mineh at@sign gmail.com&lt;br /&gt;
&lt;br /&gt;
مهدی پرهیزی: فصل نه&lt;br /&gt;
برنامه‌نویس و توسعه‌دهنده، نویسنده برنامه "با ما به‌روز باشید" شبکه ۳&lt;br /&gt;
&lt;a href="http://parhizi.ir/" target="_blank"&gt;parhizi.ir&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
مصطفی ستاری: موخره&lt;br /&gt;
برنامه نویس&lt;br /&gt;
&lt;a href="http://hacking4fun.com/" target="_blank"&gt;hacking4fun.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
از تک تک دوستانی که در این کار شراکت داشتند صمیمانه تشکر می‌کنم به خصوص ایلیا وکیلی که زحمات زیادی را در رابطه با ویراستاری متحمل شدند.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
لینک‌های مرتبط:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://codebetter.com/karlseguin/2009/08/02/foundations-of-programming-small-update/" target="_blank"&gt;نسخه اصلی کتاب&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.afsharm.com/2011/08/foundation-of-programming.html" target="_blank"&gt;معرفی کتاب&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://foppersian.codeplex.com/" target="_blank"&gt;سایت پروژه ترجمه&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://foppersian.codeplex.com/releases/view/78664"&gt;لینک دریافت فایل PDF کتاب&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7752604992674614388-5905789365130826018?l=blog.afsharm.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5GNiBlfHLgSjkaCac4mdFH94FQ4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5GNiBlfHLgSjkaCac4mdFH94FQ4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5GNiBlfHLgSjkaCac4mdFH94FQ4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5GNiBlfHLgSjkaCac4mdFH94FQ4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=7oXf5RncVFM:_vf_dBRm_b0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Afsharm?a=7oXf5RncVFM:_vf_dBRm_b0:-LR1_4ybTb4"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Afsharm?i=7oXf5RncVFM:_vf_dBRm_b0:-LR1_4ybTb4" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><link>http://blog.afsharm.com/2011/12/blog-post.html</link><author>noreply@blogger.com (Afshar Mohebbi)</author><thr:total>16</thr:total></item></channel></rss>

