教你發布Silverlight Bussiness Application(SQL Server 登入,區域網路訪問,以及使用ArcGIS Server服務需要注意的問題)

來源:互聯網
上載者:User

      之前發布過Silverlight應用程式,當時也沒有你遇到什麼阻礙,直接使用的Visual Studio 2010的Publish功能,貌似也沒有作什麼設定。後來重裝系統,也就都沒有了,這兩天幫一個大哥做了一些小例子,順便整合了一下。於是閑來無聊遍想發布一下,結果費了老大週摺才弄好,於是再次好好記錄一下,以便下次查閱。

 

開始之前我們你需要安裝IIS 7.5,Visual Studio 2010,SQL Server 2008,這是本文測試的環境,其他的筆者沒有試過,所以不是很清楚。下面就講一下筆者發布的過程和遇到的問題。

 

在開始之前你有可能需要做一下如下的工作:

  1. 安裝.net,並向伺服器註冊(一般可以跳過這一步,如果你是VS 2010,預設應該註冊了4.0的.NET Framework了)

例如:C:\WINDOWS\Microsoft.NET\Framework\<.net版本號碼> \aspnet_regiis.exe -i

       具體的版本可查看Silverlight應用程式的設定檔,例如:  

  <compilation debug="true" targetFramework="4.0" />

 

    2. 在伺服器端啟用WCF RIA Service.msi  (可選,安裝WCF RIA Service後發布Bussiness Application會自動的拷貝所需要的DLL,具體後續會說明)

      下載RiaServices.msi,通過如下指令安裝:

       msiexec /i RIAServices.msi SERVER=true

    3. 在根目錄下放置跨域檔案

一、這裡假設你的Silverlight應用程式沒有問題,已經準備好發布了。下面就開始我們的第一步。

1.在硬碟上見一個檔案夾,用來存放你發布的網站。例如:在D盤建一個WebSite檔案夾,然後再Web Site檔案下見一個esri檔案夾,例如:D:\My Web Site\esri.

2.開啟Silverlight項目,Rebuild,然後點擊Web項目,選擇Publish

注意:如果您沒有本文開始所說的在伺服器端啟用WCF RIA Service,那麼這裡您需要多一步操作,

在發布Silverlight應用之前你需要將以下三個引用的Copylocal設定為True

System.ServiceModel.DomainServices.Hosting

System.ServiceModel.DomainServices.Server

System.ServiceModel.DomainServices.EntityFramework(添加DomainService會有該引用),具體如所示,右鍵對應的DLL進行設定:

在彈出的配置視窗中選擇檔案系統(File System),並將目標位置設定為我們上面建立檔案夾的路徑,如所示:

之後點擊Publish.

然後開啟IIS管理器

右鍵網站,選擇添加新網站

在添加網站中設定網站名稱,以及實體路徑(這裡選擇我們之前建立的檔案夾:D:\MyWeb Site,因為在上一步中我們把Silverlight的應用程式Publish到了這個檔案夾下了)

之後點擊確定,這個時候我們的esri_site應該如下顯示:

接著右鍵esri檔案夾,選擇轉換為應用程式。

在彈出的視窗中點擊確定

此時,IIS視圖應該如下所示:

這時你可以點擊右側的瀏覽,查看你的應用程式了。

一般情況下,瀏覽都沒有問題,當時這裡需要注意幾個問題:

1.涉及到引用ArcGIS Server服務的時候,需要注意服務的地址,不要帶有localhost或者電腦名稱,全部用IP地址來代替。

2.涉及到登入資料庫時,需要注意IIS啟用的認證方式,以及SQL Server啟用的認證方式,否則會出現"APPPOOL\xxx無法登陸的錯誤",具體可如下操作:

  在Silverlight中預設啟用的是Forms認證,所以在IIS中也要啟用IIS認證,點擊應用程式——選擇身分識別驗證,如下設定:

3.設定設定程式應用池為4.0

點擊esri_site(Silverlight 應用使用的應用程式集區),點擊進階設定

選擇4.0

註:當出現"APPPOOL\xxx"無法登陸時,發現有兩種解決方案,先如下給出:

1.設定應用程式集區的進程模型為LocalSystem

2.修改Silverlight應用程式中的資料庫連接,在串連中增加,User ID和Password,例如這是本文使用的串連:

 <add name="DefaultConnection" connectionString="Data Source=QZJ-PC;Initial Catalog=IBACK;Persist Security Info=True;User ID=sa;Password=quzijing" providerName="System.Data.SqlClient"/>

 3.如果區域網路無法訪問,需要關閉防火牆(筆者測試時,發現開始WIN7 防火牆時,無法訪問,關閉就好了)

總結:

IIS需要注意的問題:

1.注意註冊.ent framework

2.註冊WCF RIA Service服務(或者設定相關DLL 的Copy Local屬性為True)

 3.注意應用程式的認證方式,一般是開啟Forms表單認證以及匿名認證。

4.注意應用程式集區的設定

5.SQL Server的認證方式,資料庫的串連問題,可以通過設定連接字串解決

6.使用ArcGIS Server服務的時候J將電腦名稱改成IP地址,因為如果地圖無法載入,會出現參考空間的錯誤。

7.如果上述都沒有問題,但還是不能訪問,試試關閉防火牆。

8.關於WCF服務發布的相關配置及問題,可參考這裡:

http://blogs.msdn.com/b/saurabh/archive/2010/03/16/ria-services-application-deployment.aspx

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.