2011-12-13 20 views
0

フランケンシュタインのWebサービスでは、pdfプロダクションの問題を修正していますが、デバッグではすべてが正常に動作しています。 PDFを入手しないでください。この機能callseWebserviceのpdfファイルは、デバッグでは公開されていますが、公開されていません。

ウェブサイトやメモリストリームに変換し、ファイルシステムに保存するフィールドを移入し、今度はPDF形式で読み込み関数を呼び出すclaimId

Public Function QServices_QAudit_GetWorkersCompCoverPage(ByVal claimId As Long) As Byte() 
    Dim sess As General.Session = Session.Item("sessionObject") 
    Dim pdfDocument As System.IO.MemoryStream 
    If Not AuthorizeUser(sess, Context, "qaudit") Then Return Nothing 

    pdfDocument = QAudit.QAuditData.GetWorkersCompCoverPage(claimId, sess) 
    If pdfDocument Is Nothing Then Return Nothing 

    Dim retValue As Byte() 
    ReDim retValue(0 To pdfDocument.Length - 1) 
    Dim i As Long 
    pdfDocument.Seek(0, IO.SeekOrigin.Begin) 
    For i = 0 To pdfDocument.Length - 1 
     retValue(i) = pdfDocument.ReadByte() 
    Next 

    Return retValue 

End Function 

に渡しますそれを返す。バイトストリームに変換され、ウェブサイトに返送されます。すべてがデバッグではうまくいくが、公開後はPDFは決して保存されない。私は、空白のpdf形式を保持するフォルダまたは完成したフォームを書き込むフォルダのいずれかでアクセス許可の問題を考えていますが、ネットワークサービスを含めて考えることができるすべてのアクセス許可が与えられています。 IUSR、IIS_USRS、および認証されたユーザーですが、結果に変更はありません。ネットワークサービス、ローカルサービス、ローカルシステム、デフォルトのアプリケーションプールを設定しましたが、まだ喜んでいません。

別のアクセス許可セットがあるかどうかについてのアイデアファイルが読み書きされないようにIIS7に不足しているものがありますか?

+0

ヒント#1: 'pdfDocument'の周りに' Using'ブロックを置く –

+0

構造化例外処理(try/catch)を追加し、本番システムで発生した例外をテキストベースのログファイル何よりも良いでしょう)。例外がない場合は、問題がAuthorizeUserメソッドにあることがわかり、ログに失敗した理由を記録するために追加することができます。彼らが言うように、 –

+0

curiouserとcuriouser。 Chromeを使用するとサイトが動作するようですが、IEを使用してベータサイトを見ると、運用サイトにリダイレクトされるようです。私たちはネットワークポリシーとIEの設定を調べて、この動作が設定される場所を見つけることができるかどうかを確認しています。 – Brian

答えて

0

最後にもう一度やってみましたが、IIS 7がWebサイトを公開するたびにフォルダのアクセス権が失われ、webserviceのアプリケーションプールのアクセス許可がIISのさまざまなレベルで実行されていたためです。基本的には、WebサービスからWebサービスのappcodeフォルダにpdfロジックを移し、WindowsのエクスプローラではなくIISを介してこのフォルダにローカルiisユーザ権限を与え、すべてが安定しています。

関連する問題