簡體   English   中英

發布Silverlight應用程序后出現錯誤

[英]Error after publishing Silverlight application

大家好,我今天發布了Silverlight應用程序。

它啟動時會出現以下錯誤:您認為連接字符串有問題還是沒有問題?

在此處輸入圖片說明

這就是提琴手所說的

Request Count:  3
Bytes Sent:     1,224    (headers:1224; body:0)
Bytes Received: 16,890    (headers:792; body:16098)

URLS:

/client/ClientBin/RoadTrans-Web-DataDomainService.svc/binary/GetTransFul

Statistics:

Request Count:  1
Bytes Sent:     403    (headers:403; body:0)
Bytes Received: 5,630    (headers:264; body:5366)

ACTUAL PERFORMANCE
--------------
ClientConnected:    06:22:36.697
ClientBeginRequest:    06:22:37.428
GotRequestHeaders:    06:22:37.428
ClientDoneRequest:    06:22:37.428
Determine Gateway:    0ms
DNS Lookup:         0ms
TCP/IP Connect:    0ms
HTTPS Handshake:    0ms
ServerConnected:    06:21:35.848
FiddlerBeginRequest:    06:22:37.428
ServerGotRequest:    06:22:37.428
ServerBeginResponse:    06:22:37.443
GotResponseHeaders:    06:22:37.443
ServerDoneResponse:    06:22:37.443
ClientBeginResponse:    06:22:37.443
ClientDoneResponse:    06:22:37.443

    Overall Elapsed:    00:00:00.0150009

RESPONSE CODES
--------------
HTTP/500:     1

RESPONSE BYTES (by Content-Type)
--------------
text/html:    5,366
~headers~:    264

URL:

/client/ClientBin/RoadTrans-Web-DataDomainService.svc/binary/GetPaymentWithCustomer

Statistics:

Request Count:  1
Bytes Sent:     414    (headers:414; body:0)
Bytes Received: 5,630    (headers:264; body:5366)

ACTUAL PERFORMANCE
--------------
ClientConnected:    06:22:37.443
ClientBeginRequest:    06:22:38.834
GotRequestHeaders:    06:22:38.834
ClientDoneRequest:    06:22:38.834
Determine Gateway:    0ms
DNS Lookup:         0ms
TCP/IP Connect:    0ms
HTTPS Handshake:    0ms
ServerConnected:    06:21:35.848
FiddlerBeginRequest:    06:22:38.834
ServerGotRequest:    06:22:38.834
ServerBeginResponse:    06:22:38.846
GotResponseHeaders:    06:22:38.846
ServerDoneResponse:    06:22:38.846
ClientBeginResponse:    06:22:38.846
ClientDoneResponse:    06:22:38.846

    Overall Elapsed:    00:00:00.0120006

RESPONSE CODES
--------------
HTTP/500:     1

RESPONSE BYTES (by Content-Type)
--------------
text/html:    5,366
~headers~:    264

ESTIMATED WORLDWIDE PERFORMANCE

URL:

/client/ClientBin/RoadTrans-Web-DataDomainService.svc/binary/GetCreditorFull

Statistics:

Request Count:  1
Bytes Sent:     407    (headers:407; body:0)
Bytes Received: 5,630    (headers:264; body:5366)

ACTUAL PERFORMANCE
--------------
ClientConnected:    06:22:09.870
ClientBeginRequest:    06:22:38.834
GotRequestHeaders:    06:22:38.834
ClientDoneRequest:    06:22:38.834
Determine Gateway:    0ms
DNS Lookup:         0ms
TCP/IP Connect:    2ms
HTTPS Handshake:    0ms
ServerConnected:    06:22:38.838
FiddlerBeginRequest:    06:22:38.838
ServerGotRequest:    06:22:38.838
ServerBeginResponse:    06:22:38.863
GotResponseHeaders:    06:22:38.863
ServerDoneResponse:    06:22:38.863
ClientBeginResponse:    06:22:38.863
ClientDoneResponse:    06:22:38.864

    Overall Elapsed:    00:00:00.0300017

RESPONSE CODES
--------------
HTTP/500:     1

RESPONSE BYTES (by Content-Type)
--------------
text/html:    5,366
~headers~:    264

ESTIMATED WORLDWIDE PERFORMANCE

我看到類似的情況發生,因為通過導線發送的數據對於WCF而言太大。 您可以提取對hello world方法的第一個調用嗎?

順便說一句, 如果突出顯示一個消息框窗口並執行CTRL-C,通常系統可以將erorr文本復制到剪貼板中,然后再將其粘貼到文檔中,而不必進行屏幕截圖。 我建議所有測試用戶都這樣做,而不要截屏。

根據錯誤消息,可能是在Silverlight客戶端中指定的URL上找不到WCF服務。 這也可能意味着WCF服務中出現故障。

解決WCF問題的主要方法有兩種:

1)使用Fiddler來跟蹤silverlight客戶端和WCF服務之間的流量。 這通常會顯示更詳細的信息,例如所使用的確切URL和IIS響應,否則這些響應對WCF客戶端將顯示為無效響應。

2)通過在web.config的配置部分添加以下塊來啟用詳細的WCF跟蹤:

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel"
              switchValue="Information, ActivityTracing"
              propagateActivity="true">
        <listeners>
          <add name="traceListener"
              type="System.Diagnostics.XmlWriterTraceListener"
              initializeData="c:\log\WebTrace.svclog"  />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>

重現錯誤后,雙擊指定的文件名將顯示WCF日志查看應用程序,您可以使用該應用程序來深入研究發生的特定錯誤。 在處理序列化問題時,這特別有用。

更新資料

根據提琴手的輸出(http響應500),WCF服務引發異常。 這是 Microsoft的一些有關 WCF服務中的故障及其處理方法的信息。

下一步應該是啟用WCF跟蹤,如上面第2項所示,然后檢查輸出。 您也可以檢查Windows事件日志中的問題,但是我懷疑您不會看到任何問題。

我還強烈建議在try / catch語句中包裝每個WCF服務方法的主體,以便您可以智能地捕獲和報告代碼中的錯誤,而不是嘗試將其傳播回WCF客戶端,至少直到您使這些錯誤解決為止出來。

如果您確實希望將故障傳播回WCF客戶端,則應使用FaultContract屬性裝飾接口方法,即

[FaultContract(typeof(WCFException))]

在broser中打開(站點)/client/ClientBin/RoadTrans-Web-DataDomainService.svc會發生什么?

嘗試在服務器上打開它,或對所有客戶端啟用顯示的錯誤(在web.config中)。

觀看此視頻以獲取WCF調試中的更多提示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM