مطالب آموزشی برنامه نویسی و مهندسی نرم افزار
JDBC Types and Architecture

+ نوشته شده در  چهارشنبه بیست و هفتم اسفند ۱۳۹۳ساعت 16:32  توسط وحید حسنی 

طبق سوالی که در stackoverflow  مطرح شده بود. آقای هک پیشنهاد داده بودن که در mvc هم میشه از webform برای ساخت فید های RSS استفاده کرد که در لینک زیر آموزش کامل این کار دیده میشه.

http://rickyrosario.com/blog/creating-an-rss-feed-in-asp-net-mvc

 

+ نوشته شده در  دوشنبه چهارم اسفند ۱۳۹۳ساعت 13:9  توسط وحید حسنی 

بعد از کلی جستجو فکر کنم لینک زیر راه حل خوبی ارائه کرده باشه:

http://www.joe-stevens.com/2011/05/30/asp-net-mvc-simple-server-side-ajax-paging-using-jquery

 این لینک هم بد نیست:

http://www.codeproject.com/Articles/748842/Rendering-a-Partial-View-and-JSON-Data-Using-AJAX

 

+ نوشته شده در  یکشنبه سوم اسفند ۱۳۹۳ساعت 17:57  توسط وحید حسنی 

نوشتن وب سرویس با استفاده از کتابخانه JAX-WS

 

کلاس وب سرویس

این کلاس شبیه کلاس های دیگر است با برچسب @WebService و متد هایی از این کلاس که باید قابلیت فراخوانی از طریق کلاینت ها را داشته باشند باید برچسب @WebMethod  خورده باشند.

مثال:

@WebService

public class SayHelloEndpoint }

 

    private SayHelloServiceImpl service;

 

    public SayHelloServiceImpl getService(){

        return service;

   }

 

    public void setService(SayHelloServiceImpl service(){

        this.service = service;

   }

 

    public SayHelloEndpoint(){

        this.service = new SayHelloServiceImpl();

   }

 

@WebMethod

    public String sayHello(String name){

 

        String ret = "nothing";

        if (name != null) {

            ret = service.sayHello(name);

}

 

        return ret;

   }

   

تعریف Endpoint ها

ابتدا فایلی بنام sun-jaxws.xml در WEB-INF ایجاد می کنیم. این فایل محل قرارگیری تنظیمات Endpoint هاست. مثال:

 

 

 

   

            url-pattern='/services2/SayHello'/>

 

   

              implementation="com.behsazan.corebanking.cms.webservice.endpoint.ChangeCardTransLimitEndpoint"

              url-pattern="/services2/ChangeCardTransLimit" />

   

 

 

 

اضافه کردن وابستگی ها به pom.xml

بعضی از این کتابخانه ها لزوماً نباید باشد اما با این ها حتماً کار می کند.

 

        

            javax.xml.bind

            jaxb-api

            2.2

       

       

            com.sun.xml.bind

            jaxb-impl

            2.2.6

       

       

            com.sun.xml.bind

            jaxb-xjc

            2.2.1.1

       

       

            javax.xml.ws

            jaxws-api

            2.2.1

       

       

            com.sun.xml.ws

            jaxws-rt

            2.1.7

       

       

            com.sun.xml.ws

            jaxws-tools

            2.1.7

       

تنظیمات web.xml

برای اینکه بتواند وب سرویس ها را به سمت سرولت JAX-WS هدایت کنیم:

 

        com.sun.xml.ws.transport.http.servlet.WSServletContextListener

   

   

        JAX-WS endpoint

        WSServlet

        WSServlet

        com.sun.xml.ws.transport.http.servlet.WSServlet

        1

   

   

        WSServlet

        /services2/*

   

 

تست

برنامه را اجرا کرده در آدرس بار نام Endpoint مورد نظر را می زنیم :

 

که چنین صفحه ای باید مشاهده شود:

 

همانطور که مشاهده می شود فایل wsdl  تولید شده با کلیک بر روی لینک می توان wsdl آنرا مشاهده کرد:

 

و فایل xsd آن که در کادر قرمز رنگ مشاهده می شود:

 

فایل pdf

فایل word

 

 

+ نوشته شده در  سه شنبه هجدهم آذر ۱۳۹۳ساعت 11:44  توسط وحید حسنی 

برای اینکه بتوانیم امنیت دسترسی به action ها را حفظ کنیم می توانیم از AuthorizeAttribute که ساده ترین نوع استفاده از آن به شکل زیر می باشد استفاده کنیم:

[Authorize]
 public ActionResult About()
 {
      throw new System.NotImplementedException();
  }

و برای اینکه از طریق کد بخواهیم کاربری را Authorize کنیم یعنی قدرتی به او بدهیم که بتواند از Action های برچسب Authorize خورده استفاده کند کافیست:

FormsAuthentication.SetAuthCookie(member.Name,false);

و برای آنکه بتوانیم او را از این حالت خارج سازیم:

 FormsAuthentication.SignOut();

و اگر بخواهیم در صفحات Razor نام کاربری او را مشاهده کنیم:

 @if (User.Identity.Name != string.Empty)
 {
    @User.Identity.Name
       
     @Html.ActionLink("خروج", "LogOff", "Members")    
}

 

 

+ نوشته شده در  جمعه چهاردهم شهریور ۱۳۹۳ساعت 0:35  توسط وحید حسنی